Du solltest deine Klassen so designen, dass der unterschiedliche Rückgabetyp überhaupt nicht notwendig wird.
TBackupJob hat ein weiteres Property aber das sollte doch keine Rolle spielen.
Die Klasse TJobList dient gleichzeitig hier als
abstract Factory.
Aber anscheinend sind die erzeugten Objekte noch nicht vollständig initialisiert und nur aus diesem Grund brauchst du den konkreten Typ.
Eigentlich macht es auch keinen Sinn eine Ableitung von TJobList zu erstellen, denn es gibt keinen Grund,
weshalb nicht ganz unterschiedliche Job-Objekte in einer Liste geführt werden dürfen.