Make sure we don't reallocate arrays in the pointcache when not needed, the size of a memory allocation can be slightly bigger than the requested size. Also, use consistent check for shared cached in copy and free functions.