The CacheSizeZero test expects certain behaviour from the ReadThroughCache, which cannot actually guaranteed as explained in this comment.
The exact race condition in the test is explained in the description of SERVER-47654.
Because of this, the test should be re-written as an "async" test to use the MockThreadPoo so that the lifetime of the returned handles is predictable.