It is aggressive, though intentionally so.  I'll explain what's happening under these settings, but I'm open to making adjustments.

For what it's worth, the actual timeout is double what's specified here (see: https://github.com/mongoid/mongoid/issues/3445)

Here's what will happen on startup with these settings, assuming the db addresses are unreachable:
# heroku marks dyno as 'up'
# a few seconds later, attempt to connect to primary, timeout after 1s
# attempt to connect to secondary #1, timeout after 1s
# attempt to connect to secondary #2, timeout after 1s
# repeat the above three connection attempts, 3 more seconds
# app exits non-zero, dyno marked 'crashed', heroku will stop routing requests.