Hang while Marshaling between COM components

I got to debug a COM threading issue where we see that when we are communicating between an application (say an MFC application) and a class library (developed using C# and implementing a COM component) the messages between the C++ thread and the C# thread are not being marshaled. The thread that actually makes the…