Нет, не то. Невозможно не вызывать delete, чтобы ЯП сам опознавал - нужен нам объект или нет. При работе со стеком явно определена область видимости и существования.
ну если вы объект сами создали явным new, то и удалять его вам.
Однако, если вы создали объект в стеке, и для него вызывались new, то деструктор автоматически будет вызывать delete.
Управляемые языки в этом плане ограничивают, но позволяют реализовать нормальный сборщик мусора (ценой снижения производительнорсти работы с указателями).
нормальный сборщик можно реализовать и на C++. но только для своих объектов. Вопрос лишь в целесообразности.