Those are great questions. There are some papers about pool and pool cache. There are hiwat/lowat calls in pool_cache(9). pages can only be returned if there are no allocated objects in the page. There is complexity about per-cpu pages, using more RAM for lower multiprocessor contention.