Regarding my article on background processing, someone noted that the exception thrown by my code actually stops at the exception with the "Error not handled by user's code" message. I think this is a bug in beta 2, because documentation clearly states (from MSDN))
<BackgroundWorker object will catch the exception and pass it into the RunWorkerCompleted event handler, where it is exposed as the RunWorkerCompletedEventArgs.Error property. >>
Workaround (see MSDN): Catch exceptions in your DoWork event handler, and return the exception as the result instread of the normal result. Then check the result in your RunWorkCompleted handler.
Another note came from Martijn Sipkema about the fact that I use the IsCancelling boolean without locking it. Again MSDN documentation gives the answer:
<
This type is safe for multithreaded operations.>>
I interpret this that changing a boolean's value is atomic, therefore thread-safe.