Nie powinieneś wywoływać ->close() w każdej iteracji. Jeśli zadzwonisz do close, powiesz kierowcy, aby nie używał ponownie stałego połączenia. Jeśli uruchomisz to w ciasnej pętli, systemowi zabraknie portów do użycia, ponieważ wszystkie są w stanie TIME_WAIT.
Sterownik PHP używa trwałych połączeń i jeśli (bez wywoływania ->zamknij) uruchomisz "nowe Mongo" w ciasnej pętli, jak w twoim przykładzie, sterownik nie nawiąż nowe połączenia i ponownie wykorzystaj już istniejące.