Не разбирате AutoReconnect. Повдига се, когато драйверът се опита да комуникира със сървъра (да изпрати команда или друга операция) и възникне мрежова грешка или подобен проблем. Името на изключението има за цел да съобщи, че не го правите трябва да създадете нов екземпляр на MongoClient, съществуващият клиент ще се опита да се свърже отново автоматично, когато приложението ви опита следващата операция. Ако възникне същия проблем, AutoReconnect се повдига отново.
Подозирам, че причината да виждате таймаут на сокетите (и AutoReconnect да се повдига) е, че има балансьор на натоварването между сървъра и вашето приложение, който затваря връзките след известен период на неактивност. Например, това очевидно се случва на платформата Azure на Microsoft след 13 минути липса на активност в сокет. Може да успеете да поправите това, като използвате опцията socketKeepAlive, добавена в PyMongo 2.8. Обърнете внимание, че ще трябва също да зададете подходяща стойност за интервала на поддържане на активността на вашия сървър на приложения (по подразбиране за Linux е 2 часа). Вижте тук за повече информация.