The above change is needed to prepare for Neo4j 4.3.1+ driver as might as well for some other - not yet seen - error scenarios.
At some point in the future, Neo4j Java Driver will change the behavior of run and consume: If something fails in a run message in the Bolt protocol, this will be thrown exactly than, not as late as in the consume or closing of the session or transaction. Our autoclosable wrapper must cater for that.