See the question and my original answer on StackOverflow

Maybe something like this:

    public static bool IsCOMObject(TypeDefinition type)
        if (type == null)
            throw new ArgumentNullException("type");

        return (type.Attributes & TypeAttributes.Import) == TypeAttributes.Import;

From official reference here: Common Language Infrastructure (CLI). Partition II: Metadata Definition and Semantics.

10.1 Type header (ClassHeader):

Implementation-specific (Microsoft)

The above grammar also includes ClassAttr ::= import to indicate that the type is imported from a COM type library.