Moved from: bobsql.com
I ran into a scenario showing my session as suspended, awaiting command and blocked! My first thought was that this had to a bug.
As many of us have documented, for years, a sleeping, awaiting command, session is a session waiting on the client to submit a TSQL command to the SQL Server. The client must send a command to SQL Server or the SQL Server status is ‘awaiting command’ for the session.
The difference in my scenario was the ‘SUSPENDED’ and ‘BLOCKED’ indicators. A blocked session must have a worker. The worker is not released until the command completes.