RCW for a COM component is just a managed class. Any semi-decent .NET memory profiler will show you which one will remain unintentional. If the COM server itself is leaking, you will need one that can track unmanaged memory. This invariably requires source code for the server so that you can pinpoint what happened. And actually something to do about it.
There are already gazillion questions about .NET profilers. Type ".NET Memory Profiler" in the search field in the upper right corner.
source share