The listCollections command accepts the maxTimeMS option but does not enforce the timeout.
This is a regression from the 2.6.X model which performed a query on the system.namespaces collection which does enforce the timeout.
Note that the server does imply that the command supports the maxTimeMS with the following error message:
> db.runCommand({"listCollections" : 1, $maxTimeMS : 1}); { "ok" : 0, "errmsg" : "no such command option $maxTimeMS; use maxTimeMS instead" }