Having just found out the hard way; the way the Framework deals with unhandled exceptions has changed.In v1 the framework will eat any unhandled exceptions that you throw.
If you created a thread which threw an uncaught exception you may never know about it as the framework would eat it for you.
This has all changed in v2 and if you throw an exception out of your ThreadStart function, you process is going to get killed.
Not just the thread, the whole process.
This makes finding unhandled exception nice and obvious, but isn’t going to go down well if you have an existing app that is leaking exceptions.
So before you install v2 of the framework on you production servers (you will have tested it first, right?) you might want to review your code to ensure that you catch (and log) any exceptions. 

Needless to say John Robbins was on top of this months before me, so you can read all about it at:
http://msdn.microsoft.com/msdnmag/issues/05/07/Bugslayer/default.aspx 

-- Neil