Como o C # 5 assíncrono retorna ao thread principa

Eu assisti a um vídeo sobre o Async CTP e vi que, se você ligar aguardar por ex. thread principal, a execução continuará a partir do thread principal quando o trabalho for concluíd

por exempl

//called from main thread
var result = await SomeAsyncWork();
//this will execute in main thread also
console.writeline(result)

Tive a impressão ingênua de que haveria uma chamada de retorno normal que seria executada em um encadeamento de trabalh

Em algum nível que deve ser o que está acontecendo, pois é possível agrupar métodos assíncronos normais em uma Tarefa de T com Task.FromAsync

mas os métodos assíncronos normais serão executados nos threads de trabalho, então como é que o retorno de chamada no workerthread é transferido de volta para o thread principa

questionAnswers(2)

yourAnswerToTheQuestion