Интересное замечание, что UpdateConflict можно обрабатывать ВНУТРИ транзакции, в отличии от всех других видов Exception, которые отлавливаются только за пределами первого блока ttsbegin-ttscommit
Думаю, нужно уточнить, что первый- не значит самый близкий от места ошибки, а именно первый (ttsLevel == 1)