¿Cómo deshacerse de los objetos que tienen métodos asincrónicos llamados?

Tengo este objetoPreloadClient que implementaIDisposable, Quiero deshacerme de él, pero después de que los métodos asincrónicos terminen su llamada ... lo que no sucede

    private void Preload(SlideHandler slide)
    {
        using(PreloadClient client = new PreloadClient())
        {                 
             client.PreloadCompleted += client_PreloadCompleted;
             client.Preload(slide);
        }
        // Here client is disposed immediately
    }
    private void client_PreloadCompleted(object sender, SlidePreloadCompletedEventArgs e)
    {
     // this is method is called after a while, 
     // but errors are thrown when trying to access object state (fields, properties)
    }

Entonces, ¿alguna idea o solución?

Respuestas a la pregunta(14)

Su respuesta a la pregunta