// Сборка мусора: для освобождения объекта присвойте переменной nil
var l := new List<integer>;

begin
  l.Add(3);
  l.Add(5);
  l.Add(2);
  foreach var x in l do
    Print(x);
  l := nil; // после этого память, занимаемая динамическим массивом, будет собрана сборщиком мусора 
end.