When you have SynchronizationContext context specified as it happens with the main thread, await subsequent code will Post to the looper used by the SynchronizationContext implementation.
This is one of those magical things happening with the compiler help. We were trying to write our own TaskWaiter to Post to a specific queue where we do have control when things are executed.
We do have something working, not as expected though.
We are taking this as reference
Any suggestion how to do it without changing SynchronizationContext associated with current thread?