Short Answer:
In general (in linux world), the Ctrl+Z command suspends the process (just puts it into background, doesn't terminate) and returns the promt to user,
while Ctrl+C terminates/kills the process and returns the prompt to user.
In your case, the process got suspended, but it was still running in the background. Once its wait time interval exausted, it got completed and exited.
If you wanted to end it, you have to do Ctrl+C - it will terminate the sleep process immediately.
Detailed Answer:
In the background Ctrl+C sends SIGINT (Singal Interrupt) to the application to abort it immediately. Though its upto the application to decide whether to abort it or continue the process execution.
Ctrl+C - Forcefull termination (request to application)
Similarly Ctrl+Z sends SIGSUSP (Signal Suspend) to the application to keep executing it into background and return the prompt. This is useful in case we want to switch from one application to another and let first process continue executing into background for some time.
Ctrl+Z - Move the process into background (process will exit only on completion)