Yeah, looks like the connection is returned to the free pool, so we have to ROLLBACK the transaction here.  I think this warrants a comment, though, which I'll be adding soon.