This reasoning seems slightly wrong. The same logic applies to setting a
read/write concern at the database level. It won't apply to collection instances
that have already been created.
I looked at the ticket that deprecated this,
https://jira.mongodb.org/browse/CXX-1086.
The more compelling reason is that the documentation for
mongoc_client_set_read_concern has the warning:
"It is a programming error to call this function on a client from a
mongoc_client_pool_t. For pooled clients, set the read concern with the MongoDB
URI instead."
See: http://mongoc.org/libmongoc/current/mongoc_client_set_read_concern.html
After a little bit of digging, it seems the reason is that a read concern set on
a pooled client isn't cleared before being pushed back onto the pool:
https://jira.mongodb.org/browse/CDRIVER-3537
If that were fixed, I wonder if there's still a reason to have this deprecated.