Duas razões:
-
Cada ObjectId é gerado localmente no cliente. Os diferentes clientes não estão coordenando os valores que estão gerando. Portanto, é possível que existem dois clientes que geram os mesmos números aleatórios e, portanto, gerariam exatamente os mesmos ObjectIds. Altamente improvável, mas possível, daí a formulação "provavelmente única".
-
Algoritmo de geração de ObjectId especifica o uso de um contador de 3 bytes que é usado para desambiguar os valores gerados no mesmo segundo. Se você gerar mais de 16 milhões de ObjectIds no mesmo segundo, esse contador vai estourar e o cliente que você está usando começará a gerar ObjectIds já gerados há pouco.