Ano, dynamicke premenne (v procedurach apod.) sa ukladaju do zasobnika, a ten nie je nekonecny (je primarne urceny na navratove adresy fcii a predavanie parametrov).
Stack overflow znamena ze zasobnik nestaci.
//Edit: a nie je to "moc velke na Delphi", zasobnik je obmedzeny v kazdom programe, take veci sa proste nerobia.
Chcel si alokovat 2x X na druhu bytov, ak je X dost velke tak to samozrejme moze nastat. Niekde sa da v nastaveniach zvacsit velkost zasobnika, ale nauc sa na taketo veci pouzivat dynamicke pridelovanie pamate (z heap), prip. cez new objekt, apod., v tom pripade mozes alokovat tusim aj celu volnu virtualnu pamat. Pozri si nejaky tutorial o tom.