Task scheduler job not terminating after specified timeout

That's because you started the task manually ("on-demand") and not with a trigger.

The time limit is ignored when you start the task on demand as explained in the documentation:

If a task is started on demand, the ExecutionTimeLimit setting is bypassed. Therefore, a task that is started on demand will not be terminated if it exceeds the ExecutionTimeLimit.