1. A method for managing memory of a runtime environment executing in a virtual machine, the method comprising: allocating a plurality of balloon objects within heap memory managed by a runtime environment in response to a request for memory; detecting a garbage collection process; determining an amount of heap memory freed by the garbage collection process and previously occupied by unused application objects for at least one application executing in the runtime environment; and marking a portion of the plurality of balloon objects as available for garbage collection according to the determined amount of heap memory freed by the garbage collection process and previously occupied by the unused application objects; during a next garbage collection process, freeing one or more of the balloon objects that are marked.