.NET : non-deterministic DeleteOne issue in unit tests

.NET Core/Standard
MongoDB 4.4.1 Community
MongoDB.Driver 2.11.2
xunit 2.4.1

The code below is throwing the “NotFoundException” non-deterministically maybe 10-20% of the time when running unit tests in parallel, and NEVER when running tests individually. Every unit test is set up the same way: create one or more objects with unique ids (ObjectId), execute and confirm some operations, then delete objects explicitly at the end of the test.

There are ~150 tests across two dozen classes, most running in parallel. The DeleteOne is only executed once per object per test, and since each object is using an ObjectId, there is no risk of 2 tests trying to delete the “same” object. After the exception is thrown, manual inspection in Compass confirms the object does not exist in the database, so either the DeleteOne succeeded and is reporting the wrong count, or the object is being deleted twice (which is impossible in the application layer given how it’s called, and at any rate would be deterministic and happen in the other tests). Hundreds of objects are created and deleted successfully across all tests, so this is happening literally one out of a thousand times.

Anyone seen this before? Any suggestions on how to determine if this is an application vs driver issue? Is there any scenario in the driver where DeleteOne could be successful but report the wrong count?

        var filter = Builders<T>.Filter.Where(d => d._id == id);
        var deleteResult = collection.DeleteOne(filter);
        if (!deleteResult.IsAcknowledged)
            throw new WriteException(repo.CollectionName, id);
        else if (deleteResult.DeletedCount != 1)
            throw new NotFoundException(repo.CollectionName, id);