Async Code and Connection Pool Drain Explained