2ddenis: не хочу вас огорчать, но видимо вы не совсем осведомлены о техниках ООП программирования. Подсчёт ссылок - важный функционал garbade collectorа. Подсчёт ссылок реализован на уровне языка в ObjectiveC. Подсчёт ссылок на уровне языка Си++ обещают в C++0x. Как раз отсутствием подсчёта колличества ссылок любители высоких ООП языков потыкают Си++
Когда колличество ссылок на обьект сводится к нулю, GC удаляет обьект из памяти и программисту просто незачем волноваться про вызов оператора delete. То, что программируя годами, мы привыкли удалять создаваемые обьекты (а если что, можно заюзать мемлик трекер) - это правда. Но ни в одном другом ООП языке такого нету