Ну тогда только ручками Task.Run что б точно с контекста уехать Алсо, я вот сходу и не знаю, почему оверхед от await Task.CompletedTask в общем случае непредсказуем, вроде в стейт машине if task.iscompleted goto next step и только будет, и всё. Есть инфа на почитать?