Hi,
issue you are facing is due to thread synchronization. You start a process on a thread that does not complete when timer is fired. Timer is executed on separate thread but it cannot continue because it waits until the first operation will release process instance which does not happen so the sleeping time expires in your work item handler and timer does not have opportunity to complete.
Please find attached modified work item handler that moves the work to be done on separate thread and releases the main thread that started the process. With this timer is fired properly and activity is aborted.
HTH