Si, esatto. Se il file è oltre i 2GB le medesime istruzioni mi tornano una stringa con tutti blank. Lo stesso non accade per file minori di 2GB.
Sulla base di come è scritto il programma dovrei, come minimo, riuscire a leggere i caratteri della prima parte del file, ma questo non avviene.