Play Multi-threaded Programming in .NET from the ground up