Right now, G1 only processes references (as well as enqueueing objects for finalization) during marking cycles and not during evacuation pauses. Even though we haven't seen actual issues with the lack of prompt reference processing, it is easy to imagine an application that allocates a lot of short-lived finalizable objects to require more resources that really needed, as finalizable objects (and the resources they are holding on to) are piled up in the heap, waiting for a marking cycle to be processed.