Motivation
At the moment code in pool counter isn't exception-safe and therefore the case when PoolCounter isn't released is possible.
Expected Result
- PoolCounterWork should cover the case when doWork raises an exception
- PoolCounterWork should be covered by tests