Ever done complex interop testing where you wanted to run as MTA? Needed to call WaitHandle.WaitAll? Checkout this post from Mark Seemann, which has the gory details.