Asynchronous I/O enables you to write scale-able and responsive applications. Keep in mind though that asynchrony is not a performance optimization for individual operation but rather a scalability option for operations in the aggregate.
In this presentation, I introduce the new async-await pattern of C# 5 and compare and contrast the old style (APM) Begin/End pairs of asynchronous capability as well as parallel capability
Part 1 is here • Async-Await in C# 5 Part1