When you call ResultSet.close() the underlying close() method isn't called until the statement tracker takes care of it