Despite the documentation implying that exceptions on threads will propogate and terminate it is not always true. We have just spent time chasing behaviour that did not match this expectation with System.Timers.Timer. It turns out the System. Timers.Timer swallows exceptions and System.Threading.Timer propogates them. Jean Paul S. Boodhoo has the skinny on this one. He also used reflector to show up the offending line of code. Something we might want to make sure gets added to the documentation I think.