The DisposableObject type exposes the following members.
Adds the given action to the list of actions called when the handler object is disposed
Make sure the objects get disposed
Locks the event on the given lock object. The context stays locked until the handler is disposed.
Adds the given object to the list of the allocated objects to dispose