Use ThreadPool for method to connect Redis to avoid conneciton start hang

When Redis backplane uses Azure Redis Cache, many times connection start just hang until timeout, if rebuild the app or kill w3wp, the existing connection could start, this repro more than 50% of all times.

Looks like this is caused by that we have await in ConnectWithRetry which is called in RedisMessageBus.

#3327