Хм. Во второй ссылке, если я понял верно, рекомендуют использовать Database.TransactionManager для поддержки расширяемости кода.
...
А использование в коде Document.TransactionManager позволяет "сузить код", создавая как бы "контракт" существования документа для базы?