Na een paar pogingen ben ik erachter gekomen dat het een probleem was met de Azure's Load Balancer.
Na 60s van inactiviteit zal het elke in behandeling zijnde TCP-verbinding verbreken.
Na verder graven heb ik dit bericht van de MongoDB-diagnose-FAQ gevonden en ik heb de tcp keepalive ingesteld op 120s:
sudo sysctl -w net.ipv4.tcp_keepalive_time=<value>
en ik heb ook de socketKeepAlive van de MongoClient ingesteld op true:
MongoClientOptions.Builder options = MongoClientOptions.builder();
options.socketKeepAlive(true);
mongoClient = new MongoClient(mongoAddress, options.build());
Na deze oplossingen lijkt het probleem verdwenen!