Wow, I learned a lot here; where to start? I think I'll start with this: Synchronization contexts are not native to console applications. This is going to cause you problems if you're trying to multi-thread your console applications or if, like me, you're trying to do asynchronous web requests from a console program. Luckily for you, if you already have a class written (as I do) that uses asynchronous web requests, the solution is pretty simple. If, however, you want to 'break out' work in your console program among several threads, you're gonna have a bad time.