Lentidão ao criar um array?

Olá,

Tenho o seguinte código:

[code]DataInputStream entrada = new DataInputStream(socketCliente.getInputStream());

int tam = entrada.readInt();

byte[] b = new byte[tam];
entrada.read(b, 0, tam);

return new String(this.diversasUtil.deCompressByte(b));[/code]

Este código é onde faço a leitura dos bytes vindos do socket e retorno uma String dele, só que quando cai ai, o processamento do programa fica em 100%, mas só algumas vezes. Notei que ele fica quando a variável “tam” vem com o valor de 39075.

Caso eu coloque Thread.sleep(250); após o “byte[] b = new byte[tam];”, funciona perfeitamente.
Ou ainda, caso eu coloque o “byte[] b = new byte[39075];” antes da primeira linha, e remova a linha “byte[] b = new byte[tam];”, também funciona perfeitamente.

O que pode estar ocasionando isto? Demora na criação do array?
Mas obs: está tudo dentro de try e catch, e não ocorre nenhuma excessão.

Obrigado!