Moved client list to concurrent dictionary

Hopefully fixes a concurrent problem during dispose where the collection
is modified.