переполнение пула

в некоторых местах пул проверяет свою текущую наполненность только по свободным соединениям (if len(self._pool) == self._max_size:), что вполне корректно в ряде случаев, но все же необходимо такие проверки заменить на учитывание и занятых соединений (len(self._pool) + len(self._used))