Component Object Model (COM)
Processes, Threads, and Apartments
https://msdn.microsoft.com/en-us/library/windows/desktop/ms693344(v=vs.85).aspx
http://www.opengroup.org/comsource/techref2/CHP06GDC.HTM
https://blogs.msdn.microsoft.com/alejacma/2009/08/10/managed-debugging-with-windbg-threads-part-2/
https://en.wikipedia.org/wiki/Remote_procedure_call
https://msdn.microsoft.com/en-us/library/aa373935%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
https://msdn.microsoft.com/en-us/library/system.stathreadattribute(v=vs.110).aspx
http://*.com/questions/165316/stathread-and-multithreading
http://weblog.west-wind.com/posts/2012/Sep/18/Creating-STA-COM-compatible-ASPNET-Applications
http://www.codeproject.com/Articles/9190/Understanding-The-COM-Single-Threaded-Apartment-Pa
http://www.codeproject.com/Articles/9506/Understanding-The-COM-Single-Threaded-Apartment
https://blogs.msdn.microsoft.com/vbteam/2008/03/24/stathread-vs-mtathread-whorst/
https://en.wikipedia.org/wiki/Component_Object_Model
http://www.codeproject.com/Articles/12579/Building-COM-Servers-in-NET
http://www.codeproject.com/Articles/15223/Understanding-Custom-Marshaling-Part