I have an out-of-process COM server written in C++, which is called by some C# client code. A method on one of the server\'s interfaces returns a large BSTR to the client, a
I guess you need to destroy request with ::SysFreeString(). This memory is allocated on server side.
request
::SysFreeString()
Also, OLE2A may allocate memory due to conversion (take a look). You do not free it also.
OLE2A