As with some other libraries used in our codebase, the unboundid ldap sdk catches throwable in places and re-wraps what could be a potentially fatal error in an LDAPException:
https://github.com/pingidentity/ldapsdk/blob/0eac394a077323485b850a90e55f926bc035023f/src/com/unboundid/ldap/sdk/LDAPConnectionPool.java#L1623-L1675
We should raise an issue with the upstream library to ask that they stop catching throwable or at least rethrow properly. In the interim we should use ExceptionsHelper#maybeError with these exceptions so that we can properly die if an unrecoverable error is being hidden.