Is there a way to estimate the memory required for a page?
There are two ways to estimate this value.
The Performance Analyzer tool (PAL), accessible from the portal's Tools tab, includes in its Thread section a value in bytes for Requestor Clipboard Size. This value represents the total size of the clipboard. You could run PAL against your clipboard at various points in an application (before and after the page is populated), and checking the size difference, to estimate size required to support the page. .
Private API function
The PegaAPI interface of com.pega.pegarules.priv includes a Java method estimatePageDataSize which, given a page as parameter, returns the size of the page. See the V4.1 PublicAPI Javadocs This method is for diagnostic purposes only, and in non-production environments only, as it depends on private Java classes and methods.
Note: Beginning with V4.2SP2 SmartBuild, Java classes in the "priv" package are not included in the PublicAPI Javadocs. Code in the "priv" packages is subject to change from release to release, without notice, and is intended to support rule-assembly generated Java and other internal capabilities. Use of private methods by Pega-supplied applications, frameworks, and/or customer configurations is NOT recommended because of upgrade considerations.