Job A ran and created GDG Gen 02 with DISP=(NEW,CTLG,KEEP), then the job failed.
Job B that uses the same GDG ran later but created the same GDG Gen 02 which was created in above job.
Why would Job B use the same GDG gen as Job A? We would expect it to create GDG Gen 03.
Release : 12.0
If the job did not finish successfully, the newly created GDG generation is not rolled-in into the GDG base (it is deferred) and is created only as a standalone dataset, however with the GDG-like name.
If the new GDG generation would be requested with relative generation number (+1), the name used for that deferred generation will be "reused", the generation dataset would be reclaimed.