Currently on every request we access the pool without any concurrency limit and the cache should switch to a timeout without active eviction as we are pooling the resources anyway. With that we can check on startup if we have enough memory available and maybe even pre-allocate it