i know that a requirement of COM that every thread call CoInitialize before interacting with the COM system.
.NET exposes some items that internall
To answer your first question, if I remember my Don Box correctly, every thread MUST call CoInitialize. No exceptions.
As to the automagical part, I have no idea.