1. A computer-implemented method within a software application to request allocation and use of memory from an enhanced memory management system, the method comprising: setting allocation metadata that describes how an application will use a memory allocation; setting a memory fill function that populates the contents of the memory allocation; invoking an allocation interface provided by a host that manages physical memory shared across multiple applications, wherein the application provides the set allocation metadata and memory fill function to the host via the allocation interface; receiving a reference in response to invoking the allocation interface, wherein the reference serves as an indirect identifier for subsequent use of the memory allocation by the application, wherein the preceding steps are performed by at least one processor.