Based on this problem description, it sounds like you are using the dynamic INTERCEPT functionality of the CADZSPLx task and this is what is causing the delay shutting down the CADZSPLx and CADZSAPx tasks. You may or may not have seen the following note in the documentation in the CA Dispatch System Programmers Guide where we discuss "Ending CADDSPLx, CADZSPLx Warnings and Considerations"...
Note: It is not recommended that output from very long-running jobs be intercepted, especially jobs that are running for days or weeks.
The output will not be available until the job ends. Additionally, if CADDSPL is recycled many times while the long-running job is actively producing output, CADDSPL may no longer have enough information to perform the merge successfully. Other abnormalities may also occur. It is highly preferable to have the output from the long-running job go to the JES Spool and be picked up by the CA Dispatch SAPI facility.
The CA Dispatch documentation can be found on our legacy bookshelf which is available HERE
For additional information on Intercept functionality, please refer to: