Some time ago,
I called out
this part of the documentation
regarding
managed and unmanaged threading:
On the first call to unmanaged code,
the runtime calls CoInitializeEx
to initialize the COM apartment as either an MTA or an STA apartment.
You can control the type of apartment created
by setting the
System.Threading....