• This could be down to some Intra-Query parallelism.

    Although your deadlock graph shows 3 processes, there are only 2 spids involved, and one of the waits involves a parallel exchange event.

    Have a look at this blog...

    http://blogs.msdn.com/bartd/archive/2008/09/24/today-s-annoyingly-unwieldy-term-intra-query-parallel-thread-deadlocks.aspx