In the past few days I have tested the new features of .net 4.5 and c# 5.

I like its new async/await features. Earlier I had used [BackgroundWorker](http://msdn.microsoft.com/en-us/library/vstudio/system.componentmodel.backgroundworker%28v=vs.100%29.aspx) to handle longer processes in the background with responsive UI.

My question is: after having these nice new features, when should I use async/await and when a [BackgroundWorker](http://msdn.microsoft.com/en-us/library/vstudio/system.componentmodel.backgroundworker%28v=vs.100%29.aspx)? Which are the common scenarios for both?