When we execute any database command. Thread that executing the command waits the command get fully executing before executing any additional code and thread is blocked for another process. But Asynchronous Database Commands solve this problem, when database command is executing the current thread can continue on other process. Thread can execute a no. of database commands. There are two benefits of using Asynchronous Database Commands:
1. Executing Multiple Databse Commands simultaneously improve performance.
2. Because ASP.Net framework uses a limited pool service for request.
When any request for a page is comes it assign a thread to handle the request. If framework is out of thread then job is in gueses we get error 503. But if we are using asynchronous database command then current thread is release back to current thread pool.