Yes, the MSDN article, Managed and Unmanaged Streaming, explains the details. In particular:
Interaction, a common runtime of the language creates and initializes the apartment when the COM object is called. A managed thread can create and enter a single-threaded apartment (STA), which contains only one thread, or a multi-threaded apartment (MTA), which contains one or more threads. When the COM apartment and the streaming apartment are compatible, COM allows the calling thread to make calls directly to the COM object. If the apartments are incompatible, COM creates a compatible apartment and march all calls through the proxy server in the new apartment.
What would be the result of this if the hosting application were closed before the download or download was completed?
Good question. How do you complete the application? If this is just a GUI application that you are closing, I think the main process will continue to run as long as these threads are active. I recommend that you create a test project to confirm the behavior of your application.
source share