Имеет смысл использовать unset, хотя в некоторых случаях, когда вы имеете дело с большим количеством объектов, которые остаются в памяти во время выполнения вашего скрипта. Если вы не выполните очистку после таких методов, вы можете установить ограничение на объем памяти PHP, установленное в php.ini, что приведет к прекращению работы вашего сценария.
Такие вещи, как чтение в файлах с использованием file_get_contents, могут также вызывать это, если вы позволите переменной зависать, содержащей содержимое файла.
Хотя это случается довольно редко, но лучшая практика - кодировать будущее и убирать за собой.
Но вернемся к исходному вопросу: нет, PHP очищает все, когда скрипт завершается.