Доколкото разбирам, избраният не придобива заключване и не трябва да е причина за блокиране.
Всеки път, когато вмъкнете/актуализирате/или изтриете ред, се получава заключване. За да избегнете блокиране, трябва да се уверите, че едновременните транзакции не актуализират реда в ред, който може да доведе до блокиране. Най-общо казано, за да избегнете блокиране, трябва да придобивате заключване винаги в същия ред дори в различни транзакции (напр. винаги първо таблица А, след това таблица Б).
Но ако в рамките на една транзакция вмъкнете само в една таблица, това условие е изпълнено и това обикновено не трябва да води до задънена улица. Правите ли нещо друго в транзакцията?
Въпреки това може да възникне задънена улица, ако има липсващи индекси . Когато даден ред се вмъкне/актуализира/изтрие, базата данни трябва да провери релационните ограничения, тоест да се увери, че връзките са последователни. За да направи това, базата данни трябва да провери външните ключове в свързаните таблици. Може води до придобиване на друго заключване освен реда, който е променен. Уверете се, че винаги имате индекс на външните ключове (и разбира се първични ключове), в противен случай това може да доведе до заключване на таблицата вместо зазаключване на ред . Ако се случи заключване на таблицата, конкуренцията за заключване е по-висока и вероятността от блокиране се увеличава.
Не съм сигурен какво точно се случва във вашия случай, но може би ще помогне.