Introducción a async y await en ASP.NET
https://msdn.microsoft.com/es-es/magazine/dn802603.aspx
An asynchronous request takes the same amount of time to process as a synchronous request. For example, if a request makes a web service call that requires two seconds to complete, the request takes two seconds whether it is performed synchronously or asynchronously. However, during an asynchronous call, a thread is not blocked from responding to other requests while it waits for the first request to complete […..]
The await keyword does not block the thread until the task is complete. It signs up the rest of the method as a callback on the task, and immediately returns. When the awaited task eventually completes, it will invoke that callback and thus resume the execution of the method right where it left off
Using Asynchronous Methods in ASP.NET MVC 4
http://www.asp.net/mvc/overview/performance/using-asynchronous-methods-in-aspnet-mvc-4
Using an Asynchronous Controller in ASP.NET MVC
https://msdn.microsoft.com/en-us/library/ee728598(v=vs.100).aspx