Это полностью зависит от объема функции. Теоретически, вы можете запустить весь сценарий в рамках одной функции (возможно, той, которая вызывает другие функции, но все же ...).
Для функции разумного размера с минимальными побочными эффектами совершенно нормально оставить ваши объекты установленными - их деструкторы будут вызваны после завершения функции (то есть второй эффект отмены), и они будут очищены во время первого цикла очистки после завершения функции. Для более крупной функции, которая включает создание большого количества объектов, может быть лучше удалить объекты вручную.