Gareth, make sure to invoke connect() on human task handler before you register it on the session, that will ensure it will receive events when tasks are completed.
would be good if you provide runnable sample, that will make investigation much simpler.
HTH