MongoWriteBatch:execute抛出MongoCursorTimeoutException

I'm performing bulk upserts to MongoDB using MongoUpdateBatch

$batch = new \MongoUpdateBatch($collection, ['ordered' => false, 'wtimeout' => 500000]);

and occasionally get the following error:

Read timed out after reading 0 bytes, waited for 30.000000 seconds

Trace:
#8 MongoCursorTimeoutException in /var/app/current/src/Model/Campaign.php:286
#7 MongoWriteBatch:execute in /var/app/current/src/Model/Campaign.php:286
#6 ...

For what reason can MongoWriteBatch:execute() throw a MongoCursorTimeoutException and how can it be avoided?