Replace the ExternalEvaluator's Client property with a CheckedItemCollection of clients and synchronize access so every client is used by only one thread at a time. (#1526)