I think It's most fast method to Create New Object. Activator.CreateInstance do more work at runtime.
In the Factory _globalObjectList can be ignore If user don't want it by Setting, OR it should only save (cache) the root COMObject, the child COMObject is disposed by the parent object
In the Factory _globalObjectList can be ignore If user don't want it by Setting, OR it should only save (cache) the root COMObject, the child COMObject is disposed by the parent object