Entity Framework descartando com controladores assíncronos na Web API / MVC

Eu tenho este pequeno exemplo de código:

public class ValueController : ApiController
{
    private EstateContext _db;

    public ValueController()
    {
        _db = new EstateContext();
    }

    [HttpPost]
    public async void DoStuff(string id)
    {
        var entity = await _db.Estates.FindAsync(id); //now our method goes out and Dispose method is calling
        //returns here after disposing
        _db.SaveChanges(); // _db is disposed

    }

    protected override void Dispose(bool disposing)
    {
        base.Dispose(disposing);
        _db.Dispose();
    }
}

Todo ApiController / Controller implementa interface IDisposable. Portanto, no método Dispose, quero liberar quaisquer recursos, como o DbContext. Mas, se for usado o assíncrono, esse método Dispose chama na primeira ocorrência de aguardar. Então, depois de aguardar, o DbContext já está descartado. Então, qual é a melhor maneira de descartar os Contextos EF quando o assíncrono é usado? Acontece que não é possível confiar no método Dispose no controlador?

questionAnswers(2)

yourAnswerToTheQuestion