Fix several Socket tests to not dispose an event (dotnet/corefx#42020)
When I run these tests locally, due to my network configuration they sometimes fail. If they fail and the test is disposing of the ManualResetEvent, the async callback may try to set the event after it's already been disposed, which throws an exception that crashes the test process. The easy fix is to just dispose of these MRE instances on success and let their finalizers clean up for them if the tests fail.
Commit migrated from https://github.com/dotnet/corefx/commit/
623703d941115131a7f269f9e23560f6d937837c