я вот вообще не вылупившаяся личинка программиста
но первое, что бросается в глаза
big_text:array of string;
SetLength(big_text,length_text);//
вы выделяете N байт под динамический массив (вообще ошибка характерна для работы с динамическим массивом)
а сколько занимает байт занимает стринг?
динамических массивов а д.м. не может занимат 1 байт в принципе
второе вы не освобождаете то что выделили под динамический массив
PS вы использовали не правильный подход для работы с типизированными данными используете нетипизированныйе процедуры и не учитываете особенности типов