1. A non-transitory computer readable medium having stored therein computer code adapted to be executed by a computer to perform operations comprising: instantiating a plurality of database objects in a portion of memory of a multi-tenant database, wherein the plurality of database objects are owned by a plurality of tenants of the multi-tenant database and correspond to a plurality of applications having access to the multi-tenant database, and wherein the plurality of database objects includes a first database object corresponding to a database table that has first data accessible by a first tenant but not a second tenant and that has second data accessible by the second tenant but not the first tenant; dynamically creating a threshold value based on a permissible occupancy level of the portion of memory of the multi-tenant database; comparing to the threshold value an amount of free memory within the portion of memory of the multi-tenant database that is not currently assigned to any of the plurality of tenants of the multi-tenant database; and upon determining that the amount of free memory within the portion of memory of the multi-tenant database meets the threshold value, performing garbage collection on the portion of memory of the multi-tenant database.