It's impossible for GetCollectionNames to return null, although it can
return an empty list if the database has no collections.
Also, GetCollectionNames filters out the names of any system
collections.
GetCollectionNames returns an empty list if the database doesn't
exist. Check the spelling of the database name in your call to
GetDatabase.
If you just type "db" in the mongo shell it will echo the name of the
current database. Verify that you are using the same database in the
shell and in the C# code.