In G1, young GC often contains periods of time where worker threads are waiting for others (termination time) or executes something serially.
This time could be used to perform some tasks that have no dependencies on other tasks and otherwise consume a significant amount of time.
Prominent examples for such tasks are are string table and symbol table cleanup that take a significant (i.e. most) amount of time during other pauses, but could be scheduled at any time during a STW pause.
The goal is to schedule this work in this "dead time" so that it does consume explicit time in the other GC pauses.