No encuentro ahora documetanción, pero creo recordar que el límite es la memoría del ordenador, en todo caso yo acabo de hacer esta prueba y he almacenado sin problema 3.000.000 de líneas, por lo que pienso que el problema venga a la hora de grabar el fichero.
Código:
procedure TForm1.Button1Click(Sender: TObject);
var
MiStrList:TStringList;
nCont:LongInt;
begin
MiStrList:=TStringList.Create();
for nCont:=0 to 3000000 do
begin
MiStrList.Add('Esta es la Linea número:'+FormatFloat(',0',nCont));
end;
ShowMessage(MiStrList.Strings[nCont - 1]);
FreeAndNil(MiStrList);
end;
Un Saludo.