De acordo com um artigo muito bom da base de conhecimento da Microsoft (link aqui) isso é causado por uma consulta que requer mais RAM alocada do que a disponível.
Em outras palavras, você precisa de mais RAM ou precisa reprojetar a consulta para dividir o processo em partes menores.
Este é um resumo do artigo completo. O original contém links para conteúdo para explicar com mais detalhes o processo pelo qual você deve seguir suas sugestões.
Você pode receber a mensagem de erro "System.OutOfMemoryException" ao usar o SQL Server Reporting Services
Para resolver esse problema, use um dos seguintes métodos.
Método 1
Adicione memória física suficiente ao computador.
Observação Se você tiver mais de 2 gigabytes (GB) de memória, poderá habilitar a opção /3GB no arquivo Boot.ini para obter melhor desempenho. Para obter mais informações sobre como usar a opção /3GB no SQL Server.
Método 2
Agende relatórios para serem executados fora do horário comercial quando as restrições de memória forem menores.
Método 3
Ajuste a configuração MemoryLimit de acordo.
Observação:quando você renderiza um relatório por meio do serviço Web Reporting Services, o serviço Web Reporting Services obtém a configuração MemoryLimit do arquivo Machine.config. No entanto, um relatório agendado é processado pelo serviço Report Server Windows. O serviço Report Server Windows obtém a configuração MemoryLimit do arquivo RSReportServer.config.
Método 4
Atualize para uma versão de 64 bits do Microsoft SQL Server 2005 Reporting Services para permitir que o Reporting Services utilize mais memória.
Método 5
Redesenhe o relatório. Para fazer isso, use um dos seguintes métodos.
Redesenhe as consultas de relatório. Você pode reduzir o consumo de memória redesenhando as consultas de relatório das seguintes maneiras:
- Retorne menos dados nas consultas do relatório.
- Use uma restrição melhor na cláusula WHERE das consultas do relatório.
- Mova agregações complexas para a fonte de dados.
Método B
Exporte o relatório para um formato diferente. Você pode reduzir o consumo de memória usando um formato diferente para exibir o relatório.
Método C
Simplifique o design do relatório.
Você pode reduzir o consumo de memória simplificando o design do relatório das seguintes maneiras:
- Inclua menos regiões de dados ou controles no relatório.
- Use um relatório de detalhamento para exibir detalhes.