Currently autonomous transactions inherits characteristics of "parent" transaction (such as isolation level, read-only, wait mode).
Code that starts autonomous transaction just copied "parent" transaction's flags. This is wrong and at least inefficient.
Autonomous transaction should copy only flags which describes transaction characteristics, i.e. flags which could be set by transaction_options() function.