In certain databases like IBM DB2, the rollback calls are costly. Also, on any database, this avoids an unnecessary call to DB upon returning a connection back to pool, and thus enhances the application performance.
So it would be good, if there is an optional configuration parameter that controls the "rollbackAsCleanUpAction" behaviour. This can be made "false" (can be true by default, aiming current users) if the application can guarantee itself that, no connection is returned to the pool without an explicit call to commit() or rollback(), even in the case of a non-readonly and non-autocommit connection.
A few more bits: This caused a 1/11, i.e. approx 10% performance loss in our application. Hence making this a bug (a performance issue), and not a Feature Request / Improvement!