Hmmm. Are you using Oracle? From MSDN: ... applies to Microsoft OLE DB Provider for Oracle, version 2.1, 2.5... The following error message may appear when 5000 records or more are retrieved, and when each record contains 4 bytes of data: 8007000e Not enough storage is available to complete this operation... Note that the computer is not really out of memory... To work around this problem, return recordsets larger than 4 bytes... This problem was corrected in MDAC 2.6 Even if it isn't Oracle, my guess is that it's the DB provider setting that error. Let me try to understand. Application A supports a COM dispatch interface, and contains the worker threads. Application B calls into application A through the dispatch interface using Invoke(), but that call returns the 8007000e error code. Is this right? If so, is the call actually getting into Application A? I have a feeling it is, and that the error is being propagated all the way back from your DB layer. I could just be making this shit up though... :confused: J