One big complaint I have with .NET is that there are too many ways to launch one or more background threads. If you're interested in doing that, and you start perusing through the documentation, you'll immediately find lots of information on how to do it. In several different ways. And there's really no guidelines such as "Use this method if you're doing X, and this method if you're doing Y", etc.
Mark Newman does a decent job of laying this all out and (sigh), gives you one more choice in his article on CodeProject entitled "A controllable Notifying Thread Queue with Generics".