You can call this function to explicitly dispose of an object
and reduce the garbage collection overhead.
The overload without parameters disposes of the XReadOptions and of the
The overload with output parameters returns the XReadOptions and the Stream.
The returned objects have not been disposed of.
This method follows the standard design pattern for objects
implementing the IDisposable interface. The protected Dispose
method can be overridden for sub-classes wishing to dispose of
Do not attempt to use an object after calling Dispose.