static async Task<string> _j(IA a) { try { WriteLine($"[{Environment.CurrentManagedThreadId}] _j-0"); Task<string> task = a.GetString(); WriteLine($"[{Environment.CurrentManagedThreadId}] _j-1"); string result = await task; WriteLine($"[{Environment.CurrentManagedThreadId}] _j-2"); return result; } finally { WriteLine($"[{Environment.CurrentManagedThreadId}] _j-3"); } }