Silverlight: BitmapImage do fluxo lança exceção (falha catastrófica (exceção de HRESULT: 0x8000FFFF (E_UNEXPECTED)))

Preciso carregar dinamicamente muitas (às vezes centenas) de imagens em miniatura. Por motivos de desempenho, eu preciso fazer isso em um número limitado de solicitações, estou usando uma única solicitação / resposta para teste. Estou enviando os dados binários para as imagens na resposta e carregando-os no BitmapImage usando um MemoryStream. Isso funciona corretamente até carregar mais de 80 miniaturas e, em seguida, recebo a exceção Falha catastrófica. Para garantir que meus dados não estejam corrompidos, tentei carregar uma BitmapImage várias vezes com a mesma matriz de bytes e ela falha após 80 ou mais carregamento

Aqui está uma amostra de como a imagem é carregada da matriz de bytes, sabe-se que a matriz de bytes possui dados de imagem válidos (png):

private BitmapImage LoadImage(byte[] imageData)
{
    BitmapImage img = new BitmapImage();
    MemoryStream stream = new MemoryStream(imageData);
    img.SetSource(stream); // Exception thrown here after too many images loaded.
    return img;
}

Em seguida, uso o BitmapImage como fonte de um elemento Image na página, mas o erro ocorre noimg.SetSource(...) linha acima.

AddingGC.Collect() no loop em que estou carregando imagens em miniatura, posso carregar mais algumas imagens, então acho que isso tem algo a ver com o gerenciamento de memória, mas não sei o que posso fazer para corrigir o problema.

questionAnswers(2)

yourAnswerToTheQuestion