Substantially improved how we locate the global service provider for default services.
ServiceProvider.GlobalProvider is not safe for calling from non-UI threads (go figure!): http://blogs.msdn.com/b/visualstudio/archive/2010/05/17/three-new-managed-package-framework-features-for-visual-studio-2010.aspx
And ThreadHelper "should be avoided if possible": http://msdn.microsoft.com/en-us/library/vstudio/ee197798.aspx
Fixed both issues here.