There are numerous factors that can attribute to the overall memory footprint of a form but in general, loading and unloading a form should not leak significant amounts of memory. A variety of causes will affect form memory usage, but a code audit of your form(s) would likely be effective if there is/are particular form(s) that need help.
1. Background Image Sizes Each page has a form page image background. The size of these images are defined on the Form Properties dialog. In general, this will affect the transport of a form template (downloading from Server to Client) more than runtime memory during form use but could affect memory nonetheless.
2. Dispose objects in BeforeClose In the Form Script, if there are object instantiated during the life of the form, be sure to dispose properly within the BeforeClose event handler, or earlier if possible.
3. Use the Page Re-Use method Use of sub-forms will use more resources than opting to use the page-reuse method.
4. Collection of ink data Depending upon how much is actually collected, this may involve more memory resources.
5. Audit trails Each field has a collection of audit trail data. If this is not needed, it can be 'turned off' on a per-field basis. See "KeepAuditTrailData" in the VB.NET form script documentation.
6. Form size - overall form size and number of pages and fields will increase memory usage.
If memory usage continues to be an issue, consider removing suspicious components ( a new .NET library object, a new sub-form, etc) and compare the results. Note that the amount of memory indicated from Task Manager is not a reliable measurement of memory usage ( does not account for .NET garbage collection and other factors).