почему он существует.
Он существует для классов, где вы заботитесь об их времени жизни, в частности, когда класс переносит ресурс в ОС, и вы хотите немедленно его освободить. В противном случае вам придется ждать (недетерминированных) финализаторов CLR.
Примеры, файловые дескрипторы, соединения с БД, сокетные соединения, ....