What I meant in regards point 2 is that if a user is just trying to disassociate the TX from the thread they ideally don't want a WARN so something like suspend would be useful. That being said in an EE environment we shouldn't be seeing parallel commits happening anyway unless the user is doing something out of spec so a WARN is fair enough here.
A parallel commit of TransactionImple wouldn't actually cause an issue looking at this more clearly as the thread is fine to call suspend as the initial commit on the TransactionImple cleans up the _transactions map.
The issue is only if the underlying AtomicAction is completed in parallel. This is most commonly seen in the reaper so only affects the rollback case. In my opinion the impact of the second rollback is not significant (a line of warning) to warrant modifying suspend.
I will leave this thread in case someone does thing it is worth modifying suspend to support clean up and avoid the line of WARN when rollback is called on a reaped transaction.