title: How finalizer increases the life of an object in C#?
body: <p>I am reading a book on C# memory management which says:</p>
  
  <blockquote>
    <p>What’s important to understand is that a finalizer increases the life
    of an object. Because the finalization code also has to run, the .NET
    Framework keeps a reference to the object in a special finalization
    queue. An additional thread runs all the finalizers at a time deemed
    appropriate based on the execution context. This delays garbage
    collection for types that have a finalizer.</p>
  </blockquote>
  
  <p>As per my knowledge finalizer would run on garbage collection only, not before it. So, how can it delay its garbage collection?</p>