Con il driver C# in genere non si utilizza l'opzione di inserire un nome di database nella stringa di connessione. È parzialmente supportato per fornire un certo livello di compatibilità con altri driver.
MongoServer.Create ignora il nome del database. Eventuali credenziali (nome utente/password) sulla stringa di connessione vengono utilizzate come credenziali predefinite per tutti i database.
Il nome del database viene utilizzato solo da MongoDatabase.Create, che chiama MongoServer.Create e quindi chiama solo GetDatabase per te.
Quindi:
var connectionString = "mongodb://localhost/database";
var database = MongoDatabase.Create(connectionString);
è solo una scorciatoia per:
var connectionString = "mongodb://localhost";
var server = MongoServer.Create(connectionString);
var database = server.GetDatabase("database");
In realtà non viene eseguita alcuna autenticazione finché non si tenta per la prima volta di utilizzare un database.