As a result of the problem mentioned at Distributed transaction issue some nodes become inconsistent as data were successfully persisted at MODESHAPE_REPOSITORY but not at CONTENT_STORE. So attempt to get binary data for such nodes ends up with
org.modeshape.jcr.value.IoException: org.modeshape.jcr.value.binary.BinaryStoreException: Unable to find binary value with key "72f666dc4c3199016299da17045d974513733e0a" within binary store at "CONTENT_STORE"
...
Caused by: org.modeshape.jcr.value.binary.BinaryStoreException: Unable to find binary value with key "72f666dc4c3199016299da17045d974513733e0a" within binary store at "CONTENT_STORE"
at org.modeshape.jcr.value.binary.DatabaseBinaryStore.getInputStream(DatabaseBinaryStore.java:196)
...
It seems that here (DatabaseBinaryStore.java:196) is the exact place of connection leak - exception is thrown but connection left open (according to the comment placed below). May be it worth to release connection in this case?