Why it matters
ASP.NET Core pools HttpContext and resets it as soon as the response has been written, and the accessor's backing AsyncLocal is cleared or reassigned to the next request. Work that outlives the request therefore reads a context whose request, response, features, and RequestServices have already been torn down. The usual symptom is a NullReferenceException or ObjectDisposedException under load, and the worst one is reading another user's request data from a recycled context.