, Sven Groot wrote

There's a simple rule with multi-threading: if you think you've found a simple way to do something, it's nearly always wrong (unless that simple way is using a class someone else wrote that encapsulates the hard stuff, like Task or BackgroundWorker).

+1