An ObjectDisposedException is thrown when you try to access a member of an object that implements the IDisposable interface, and that object has been disposed. Typically, this exception is caused by one of the following conditions:

You've called an object's Dispose method, and you’re trying to access an instance member that gets or sets the object's state. The following example illustrates the ObjectDisposedException that is thrown when you try to reset the frequency of timer notifications after you call the Timer.Dispose method.

You've called an object's Close method, and you’re trying to access an instance member that gets or sets the object's state. Often, the Close method provides a type's public implementation of the IDisposable.Dispose method.

You've called an object's Dispose method multiple times. Typically, this doesn’t throw an exception. However, depending on how a type implements IDisposable.Dispose, it may not allow multiple calls to Dispose.

In most cases, this exception results from developer error. Instead of handling the error in a try/catch block, you should correct the error, typically by reinstantiating the object.