Gareth, when you dispose the session you need to dispose all other components that rely on the session, in your case its ht handler. What you could do it to pass the ht handler to process event listener so it can be disposed (disconnected) when session is disposed as well. This assumption is that you have one to one relationship between all three instances: ksession, ht handler and process event listener that disposes the session and handler.
HTH