Nested AMs do not have their own DB connection and a transaction object but they use (i.e. share) the connection and the transaction object of the root AM. When you commit/rollback a nested AM instance, you in fact commit/rollback the root AM together with all its nested AM instances.
If you want to commit the regions separately, you must not use nested AMs (in one and same root AM) but separate root AMs instead.
As an alternative, you can configure the bounded taskflows of the regions not to share DataControls with the parent taskflow (if this suits your use case), so the framework will create separate DataControl frames for the regions and they will be given separate AM instances from each other and from the parent page (with separate connections and transaction objects).