http://msdn.microsoft.com/en-us/library/ms688715.aspx
says "Because there is no way to control the order in which in-process servers are loaded or unloaded, do not call CoInitialize, CoInitializeEx, or CoUninitialize from the DllMain function." in other words, seems a bad idea to call CoUninitialize as a response to com.unload.
