One example of caller that does not is CatalogCache::getDatabase:
https://github.com/mongodb/mongo/blob/r3.4.0-rc0/src/mongo/s/catalog/catalog_cache.cpp#L66
And this can cause the balancer to terminate while calling MigrationManager::finishRecovery.