IMHO to nie je 100000B ale hexadecimalne 100000, co je 1MB.
Ano mozes si to zvysit (pisal som ti to snad hned na zaciatku), ale nie je to rozumne (efektivita, a ak vytvaras data dynamicky tak nevies ci to pri urcitych specialnych vstupoch zas nedrbne kvoli rovnakemu problemu, apod.), pre vacsie mnozstva dat zasadne pouzivat objekty/fcie ktore pracuju s memory heap.
Ano ak opustis podprogram tak sa musi uvolnit zo zasobnika vsetko co sa na zaciatku podprogramu na zasobniku alokovalo, ptz. je nutne aby pri ukoncovani procedury bolo na vrchu zasobnika to, co pri volani procedury - navratova adresa.