As shown in SERVER-27127, the Catch test code inherent creates races, as each test path (i.e. test case and section combination) creates a new connection, which removes the monotonic write guarantee and means that test paths are not truly isolated from each other.
One fix could be to have tests use unique collection names, so that every test path occurs with a fresh collection.