fix oMemoryPool::shrink() to keep one chunk reserved
add comment and fix bugs for oMemoryPool