Nie rozumiesz automatycznego ponownego łączenia. Jest wywoływany, gdy sterownik próbuje skomunikować się z serwerem (w celu wysłania polecenia lub innej operacji) i wystąpi awaria sieci lub podobny problem. Nazwa wyjątku ma informować, że nie trzeba utworzyć nową instancję MongoClient, istniejący klient spróbuje ponownie połączyć się automatycznie, gdy aplikacja spróbuje wykonać następną operację. Jeśli wystąpi ten sam problem, funkcja AutoReconnect jest ponownie uruchamiana.
Podejrzewam, że powodem, dla którego widzisz przekroczenie limitu czasu gniazd (i podniesienie AutoReconnect), jest to, że istnieje system równoważenia obciążenia między serwerem a aplikacją, który zamyka połączenia po pewnym okresie bezczynności. Na przykład dzieje się tak na platformie Microsoft Azure po 13 minutach braku aktywności na gnieździe. Możesz to naprawić za pomocą opcji socketKeepAlive, dodanej w PyMongo 2.8. Zwróć uwagę, że będziesz musiał również ustawić interwał utrzymywania aktywności na serwerze aplikacji na odpowiednią wartość (domyślnie w systemie Linux to 2 godziny). Więcej informacji znajdziesz tutaj.