There are many things that could be leaking. If your form hooks into any static events then you must explicitly unhook them before the form closes. My gut instinct is that your form isn't actually getting deleted because something has a reference to it.
One possible culprit is CR itself. If you're interacting with the CR library then you need to ensure you're cleaning it up. Refer to their docs on how to do that properly. It is possible that the CR viewer has a memory leak as well. From what you describe it sounds like the data for a report is getting loaded but never released. Review every place you are hooking into the viewer and ensure you're cleaning those up before the form closes.
One thing you should probably consider doing is running a memory profiler. The goal is to determine what memory is still allocated that shouldn't be and figuring out why. There are many tools available for this but a good starter tool would be the free one's provided by MS. You need to identify what objects are taking up a lot of memory and then trace back to where they came from and why they weren't cleaned up. The commercial tools may be better able to simplify this task but refer to this blog article on how to get started with the free tools.
If you're running the VS Enterprise edition then it also has a diagnostic tool that can help. But that won't help you if you aren't running Enterprise.
Also be sure to review all the warnings generated by the compiler and analyzers that run in the IDE. They can identify where you are not cleaning up resources properly in some cases which will help.