Meanwhile I ran some tests and my conclusion is that I cannot use the BackgroundWorker. Thing is with the BackgroundWorker, that the described behaviour is only valid in a windows forms application. If you run it in a forms application, the ProgressChanged handler indeed runs on the creator thread (the UI thread), but if you use it in a console application, the ProgressChanged handler runs on the DoWork background thread.
If you want something done fast, then do it right (Grissom, CSI) Thanks for your reply, you just acknowledged my existence