Eu supor que esta é uma edição da memória. Como ao retornar a corda cheia, propably o código nativo precisa de prender a corda inteira na memória e isto é copiado então à Ar-Aplicação que então também necessidades da conservar. Porque o utf cheio precisa 2 bytes para cada carvão animal, você precisam pelo menos 18MB por os tempos 2 desse resultado pelo menos… para o Nativo-Código e a aplicação que do ar você começa precisar muita ram.
Você poderia tentar aumentar a memória reservado a sua aplicação do ar.
Você poderia você tentar processar seus dados nos pedaços (3000 blocos do carvão animal)?
Uma outra solução seria ter seu código nativo para gerar os dados (Memória-Traçado talvez mesmo) em uma lima provisória e para lê-los com um córrego de entrada no cabo flexível. Esta maneira você não tem que ter demasiada memória disponível.