I am starting to get really pissed about this problem now...
I have a function, worker_DoWork used by a backgroundworker. Something is wrong with it though. When it has run to the end it just runs one more time.
I have stepped the code and what I can see the background worker jumps straight from the closing bracket to the start again...

I have breakpointed all places that could have started it again but nope they didn't trip. Not even the worker.RunWorkerAsync() which should be the only right way to start it.

Is there a way to step through ALL the lines that is being executed? There must be a line somewhere that gets executed but I can't find it