Microsoft Reporting gibt den Memory nicht frei

Wir verwenden in einer Applikation, die wir in Visual C# 2010 Professional entwickelt haben, Microsoft.Reporting.Winforms. Das Problem: Wir möchten unsere Applikation sowohl für 32-bit (x86) als auch für 64-bit compilieren. Da haben wir insbesondere bei 32-bit das Problem, dass der Arbeitsspeicher schnell voll wird, weil ja nur 2 GByte adressiert werden können. Wenn wir den Dynamischen Report anzeigen lassen, wird nie Arbeitsspeicher freigegeben, sondern immer mehr Arbeitsspeicher verbraucht. Egal ob wir seitenweise in einem Report blättern oder den Report mehrmals schließen und wieder öffnen. Gibt es eine Möglichkeit, den Arbeitsspeicher freizugeben? Ich habe schon ein paar Tipps per Google-Recherche gefunden, diese bringen jedoch wenig, führen nur dazu, dass ca. 20 bis 50 MByte nach Schließen des Reports freigegeben werden, aber nicht der gesamte Arbeitsspeicher, und auch nicht, wenn man nur blättert.

Eine andere, verwandte Frage: Hat jemand Erfahrungen mit Microsoft Reporting und Crystal Reports und weiß, worin die Unterschied zwischen diesen beiden Lösungen bestehen? Könnte uns die Verwendung von Crystal Reports die Lösung unseres Problems bringen?

Vielen Dank.