I'd have to unwrap the underlying task - which is what we're waiting for when we call Task.WhenAll. Task.Run sorts that for me. I'll change the Wait to WaitAsync