А он кст этого и не делает, там оператор == перегружен вообще, он проверяет существует ли объект в плюсах если нет то возвращает null, это я в исходном коде позырил, так что мое предположение верное то что объект на самом деле объект это unmanaged память из плюсов, удаляется она так же нативном методом из плсюов, в этом и заключается обход GC