Является ли динамический массив автоматически освобожденным, когда он выходит за рамки?

в этом примере

procedure foobar;
var tab:array of integer;
begin
  setlength(tab,10);
end;

- массив уничтожен или происходит утечка памяти?

Ответ 1

Память освобождается. (То есть, утечка памяти!)

Ответ 2

Массив автоматически освобождается, но я видел неясные случаи, когда это не по какой-то причине. Я решил это, установив массив на нуль.