title: Does an object with a pending finalizer need to be collected by the GC more than one time?
body: <p>I am reading the &quot;Disposal and Garbage Collection&quot; chapter of book C# 8.0 in a Nutshell. When it comes to finalizers, it says:</p>
  <blockquote>
  <p>The GC identifies the unused objects for deletion, those without
  finalizers are deleted immediately, those with pending finalizers are
  kept alive and are put onto a special queue. When the garbage
  collection is complete and your program continues executing, the
  finalizer thread then starts running in parallel to the program,
  picking objects off that special queue and running their finalization
  methods.</p>
  </blockquote>
  <p>Does this paragraph mean that an object waiting for finalization need to be collected by the GC again? I assumed it already been detected as garbage by GC, why does it need to be collected after finalization again?</p>