• I'm trying to find the cause of blocking on my system

    If you are truly trying to find the cause of the blocking that is occurring on your system, then I would suggest that you look into using the blocked process report. I have used it many times in the past to track down the source of blocking in our production systems. You first have to configure an option to enable it using sp_configure and the duration of the blocked event to capture. Then you run a profiler trace to capture the blocking events. We run ours as a background trace that is kicked off every morning from a scheduled job. It generates an XML output that can be used to track the source of the blocking.

    Here's a SQLServerCentral article with the detailed information on how to set it up:

    http://www.sqlservercentral.com/blogs/aschenbrenner/2011/12/01/the-blocked-process-report/

    And here's a link where you can find code that will interpret the results of the blocked process report more easily:

    http://michaeljswart.com/2011/04/a-new-way-to-examine-blocked-process-reports/