Issue still not solved.
Depending on FbConnectionInternal.Database.ConnectionBroken state - the problem is partially fixed.
Dead connections does not get back in "available" queue if ConnectionBroken is set, but they get stuck in "busy" queue now.
Therefore, with each broken connection the connection pool is reduced by 1.
Leading to a dead application / "connection pool is full" which the code does not recover from.