I suspected so, but I wanted to see the deadlock trace to know for sure. And also how I could point you to how to see it.
If you go back to the deadlock trace, you will find that the process performing the DELETE, has transaction=USER TRANSACTION
. Furthermore, you will also see that lasttransstarted
is before lastbatchstarted
, which makes it clear that it is a transaction started from the client. (Or an orphaned transaction that was never committed or rolled back although it should have been.)
The deadlock trace can only show the current statements, but when there is a multi-statement transactions, some of the locks involved in the deadlock might have been taken in earlier statements.