Requests that the common language runtime not call the finalizer for the specified object.
Assembly: mscorlib (in mscorlib.dll)
This method sets a bit in the object header of obj, which the runtime checks when calling finalizers. A finalizer, which is represented by the Object::Finalize method, is used to release unmanaged resources before an object is garbage-collected. If obj does not have a finalizer, the call to the method has no effect.
Objects that implement the IDisposable interface can call this method from the object's IDisposable::Dispose implementation to prevent the garbage collector from calling Object::Finalize on an object that does not require it. Typically, this is done to prevent the finalizer from releasing unmanaged resources that have already been freed by the IDisposable::Dispose implementation.
The following example demonstrates how to use the method in a resource class to prevent a redundant garbage collection from being called. The example uses the dispose pattern to free both managed resources (that is, objects that implement IDisposable) and unmanaged resources.