by default, COM objects marshal by reference. That is, when passing object references as method parameters, Co-Marshal Interface creates a stub to allow MethodCall?s to be dispatched to the object from foreign apartments. Clients wind up with COM-provided proxies that send the stub request messages that trigger RemoteMethodInvocations.