The introduction of the async and await keywords in the C# language was a highly visible feature which is now starting to be emulated elsewhere, but has arguably caused many people unfamiliar with what happens underneath to chase themselves round in circles for days, weeks or even months with concurrency concerns. In this talk we'll look through an actual bug in the Event Store .NET client and look at how it interacted with these language features to cause potential deadlocks, and how painful it was to discover. To do this we'll also take a reasonably deep look into the architecture of the Event Store client.