Ich vermute mal, dass der Befehl nicht im aktuellen Job/Thread läuft sondern in einem eigenen. Da dieser aber anschließend wieder beendet wird ...

Ggf. kannst du dies mit setThreadSafe(true) beeinflussen (ggf. hat IBM das Attribut des Kommandos geändert).
CommandCall