А можно и т.п. развернуть?
Официальных данных по этому вопросу либо совсем нет, либо их мало. Поэтому - всё опытным путём, методом проб и ошибок. Поэтому, я стараюсь вообще не использовать транзакции. Нигде. Но это не всегда получается. Например, в Civil 3D API, с которым я чаще всего имею дело, есть несколько методов, для корректной работы которых требуется явный запуск транзакции.
Неиспользование транзакций требует больше внимания от программиста. Но зато меньше шансов, что в будущем появится какая-то непредвиденная плавающая ошибка. Если не используются транзакции - ошибки вылезают сразу