Yes, that's happening because you are connecting the Task client and the workItem is trying to connect it again.
Let me review that logic to see if we can avoid duplicate connections.
If you use two different instances, one for the task client and one for the workItem it should work correctly.
Remember that you don't want to attach logically the WorkItemHandler lifecycle with your application that is interacting directly with the human task module, usually you end up with two different
instances of the client, but sharing for testing purposes should be possible.
CHeers