La memoria necessaria ad allocare 16000 float e' pari a 64K circa e quindi non penso sia un problema di mancanza di memoria ...

Semmai il problema e' nella lettura del file, ovvero se durante la lettura del file, per un qualsiasi motivo, l'indice i supera il massimo possibile (16000) ...