Динамические структуры. Обязательна ли процедура dispose()?
1) В паскале нет GC и встроенных умных ссылок, и отсутствие ссылок ничего не изменяет. 
2) Да.
3) Нет, в С мусор не собирается автоматически.
GC точно встроен в C#, и судя по всему в остальные .Net языки, хотя я точно не уверен
Я считаю это хорошим тоном, даже если это в ЯП не используется, возможно за этим также следит ОС, я не профессионал, поэтому точно сказать не могу. Когда на C# я писал пакетную ресайзилку изображений, после того, как в процедуру ResizeImage (стыренную откудато из сети) в конце после формирования преобразованного image, я воткнул Image.Dispose(), отжирание памяти сократилось на 100-200 метров.