Probably the biggest category of problems that can be traced to
violating COM single-threaded apartment rules in the shell is
using an object from the wrong thread.
Of course, nobody admits to doing this up front,
They just report that the shell is broken.
Read More...