FbConnectionPoolManager's check if a connection is alive fails if the system time travels back in time (changing time zones or daylight saving times while the application is running, for example)
Comparing the absolute difference of the values after adding the connectionLifeTime to the created time should fix the problem.
static bool IsAlive(long connectionLifeTime, DateTimeOffset created, DateTimeOffset now)
if (connectionLifeTime == 0)
return created.AddSeconds(connectionLifeTime) > now;