Currently in a single use transaction, when the ResultSet returned by read/executeQuery is closed or it completely iterated on (till next returns false), we release the session to the pool. This is error prone as the user might not do either.
Instead of this we should automatically free up the session when the rpc finished.