I got a great question from a customer on controlling the number of active tasks. It’s a general question on async code, so I'll answer that question here. One particular application path starts a large number of asynchronous tasks using the same service. After starting too many tasks, the service starts rejecting them. This can be a common problem when your making async calls. If you hit the same web service with too many requests, it may start queuing them up rather than responding. Worse, it may erroneously think your client app is part of a DOS attack.