 <p>RCW's should be (from what I know) of the special type System.__ComObject, however probably what you want to do is call <a href="http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.marshal.iscomobject.aspx" rel="nofollow noreferrer">Marshal.IsComObject</a> which will tell you if the object is a runtime wrapper or not. In a quick test a COM created object via that route ends up as a direct managed object and loses the COM wrapper. </p>