System.GC

Я прочитал то что находится на msdn, но осталось несколько вопросов:

  1. types written in C# or C++ implement destructors, which compilers turn into an override of Object.Finalize. То есть если я сделаю и деструктор и protected procedure Finalize; override; - это должно вызывать ошибку? Я проверил - ошибку не даёт.
  2. В GraphABC у каждого класса графического объекта есть деструктор, а на странице Object.Finalize написано что лишняя перезапись Finalize замедляет работу сборщика мусора.
  3. Every implementation of Finalize in a derived type must call its base type's implementation of Finalize. This is the only case in which application code is allowed to call Finalize.. Если я ослушаюсь вызовется ошибка, сборщик мусора не использует мой Finalize или что?