Fix MAGN-2317

@lukechurch

This submission takes use of the following commit:
https://github.com/DynamoDS/Dynamo/commit/a567190311f09f4a8c7acab087d27a94783471d6

The submission make some changes to the original code to fix several errors because some code has changed ever since.

This submission fixes magn-2317.
It will caused memory leak in nunit where when we restart a controller the old controller won't be released