1. A computer program product to incrementally unload classes using a region-based garbage collector, the computer program product comprising a non-transitory computer-usable storage medium having computer-usable program code embodied therein, the computer-usable program code comprising: computer-usable program code to maintain a remembered set for a class set, the remembered set indicating whether instances of the class set are contained in one or more regions in memory, and in which regions in memory the instances are contained, wherein the remembered set of each class set transitions between a plurality of possible representations based on an established policy, the possible representations comprising: (1) an “immediate” representation storing pointers to specific regions in memory where instances of the class set are contained; and (2) a “bit vector” representation comprising a bit for each region in memory that indicates whether at least one instance of the class set is contained in the corresponding region; computer-usable program code to cause the remembered set to transition from the “immediate representation” to the “bit vector” representation when a number of regions that contain instances of the class set exceed a number of pointers that can be stored by the “immediate representation”; computer-usable program code to, upon performing an incremental garbage collection process for a subset of the regions in memory, examine the remembered set to determine whether the class set includes instances in regions outside of the subset; and computer-usable program code to identify the class set as “live” if the remembered set indicates that the class set includes instances in regions outside of the subset.