.NET 4.5 Async + Await Fire and Forget potential memory leak? <p>I'm using similar code to below for a non critical fire-and-forget operation in ASP.NET </p> <pre><code>private void SomeMethod() { FireAndForgetAsync(); } private async Task FireAndForgetAsync() { // Simulate medium running IO blocking operation await Task.Delay(sleepTime).ConfigureAwait(false); // Simulating the rare scenario where an error occurs throw new Exception("An Error Occurred"); } </code></pre> <p>The exception is captured in the task being returned from the async method, which prevents an unhandled exception altogether crashing the application..</p> <p>But would this code cause any memory leaks? Because the returned Task (and its exception) are not assigned / accessed? My thoughts are that it would simply be garbage collected unless some .NET framework code is holding a reference to the task..</p>