1. A hierarchical heap allocator system, comprising: at least one processor; and a non-transitory processor-readable memory device storing instructions that when executed by said at least one processor causes said at least one processor to perform operations including: caching multiple sets of memory resources, wherein said multiple sets of memory resources comprise: a first set of memory resources available for allocation for an application and multiple application threads of said application; a second set of memory resources available for allocation for said multiple application threads; and for each application thread of said multiple application threads, a corresponding additional set of memory resources available for allocation for said application thread; monitoring run-time resource usage information for said application; and dynamically balancing said multiple sets of memory resources between said multiple application threads by moving at least one memory resource between said multiple sets of memory resources based on comparison of said run-time resource usage information and a threshold; wherein said dynamically balancing said multiple sets of memory resources between said multiple application threads comprises: proactively pulling at least one memory resource from said first set of memory resources to said second set of memory resources in response to determining said run-time resource usage information is less than or equal to said threshold; and proactively pushing at least one memory resource from said second set of memory resources to said first set of memory resources in response to determining said run-time resource usage information exceeds said threshold.