Suppose I have async function with the following code.
var reply = await httpClient.GetAsync(somePath);
ProcessReply(reply);
The async function with this code is called in main thread of WPF application. When I execute it ProcessReply always runs asynchronously from dispatcher in main thread, for example if I block main thread continuation is not reached. What controls which thread runs the code after await? Is it guaranteed or possible to make it guaranteed that part after await runs in main thread?