Breve explicação do Async / Await no .net 4.5

Como as tarefas assíncronas (Async / Await) funcionam no .Net 4.5?

Algum código de amostra:

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

O segundoawait declaração de ser executado imediatamente ou após o primeiroawait retorna?

questionAnswers(3)

yourAnswerToTheQuestion