Continuar con una tarea en el hilo principal

Perdóname si esta es una pregunta simple; No pude expresarlo de una manera suficientemente genérica para buscar la respuesta.

Considere este código:

var task = Task.Factory.StartNew(() => Whatever());  
task.ContinueWith(Callback, TaskScheduler.FromCurrentSynchronizationContext())

¿Cómo se determina exactamente cuándo se ejecutará el método de devolución de llamada?

¿Esperará hasta que el hilo principal haya terminado de hacer lo que está haciendo, o se llamará inmediatamente después de que se complete la llamada asíncrona? ¿Y esta devolución de llamada se ejecutará completamente antes de que el hilo principal vuelva a lo que estaba haciendo antes?

Respuestas a la pregunta(1)

Su respuesta a la pregunta