Breve explicación de Async / Await en .Net 4.5

¿Cómo funcionan las tareas asíncronas (Async / Await) en .Net 4.5?

Algún código de muestra:

private async Task<bool> TestFunction()
{
  var x = await DoesSomethingExists();
  var y = await DoesSomethingElseExists();
  return y;
}

Hace el segundoawait La declaración se ejecuta de inmediato o después de la primeraawait ¿devoluciones?

Respuestas a la pregunta(3)

Su respuesta a la pregunta