Насколько я понял, NOLOCK в данном случае лишь позволяет закончить первую сессию и сделать DELETE in t1. В случае выполнения без этого хинта, DELETE заблокируется by (S) lock on t1 и мы получим deadlock. И такая комбинация действий в обоих случаях обречена на failure :)
Ещё одна «засада» на уровне изоляции Read Uncommitted