Замечу лишь, что судя по тексту ждущего запроса, никакого отношения к разноске в ГК ситуация не имеет. На момент начала разноски в ГК все операции с inventCostList уже должны быть завершены.
Проблема в том, что многие операции во всяких мониторах (например тот же DBCC INPUTBUFFER), показывают не ждущий запрос, а последний скомпилированный.
Попробуйте исполнять следующий запрос:
X++:
select r.session_id,r.status,
SUBSTRING(st.text, (r.statement_start_offset/2)+1,
((CASE r.statement_end_offset
WHEN -1 THEN DATALENGTH(st.text)
ELSE r.statement_end_offset
END - r.statement_start_offset)/2) + 1) AS statement_text,
r.blocking_session_id,r.wait_type,r.wait_resource,r.wait_time,DB_NAME(r.database_id),r.cpu_time,r.logical_reads,r.reads,r.writes,r.start_time,r.sql_handle,r.plan_handle
from sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS st
where sql_handle is not null
В поле statement_text показывается настоящий текст исполняемого запроса; Если Blocking_session_id не нулевое - значит этот запрос заблокироваи ждет другой сессии.