Free a single object provided by this pool Takes an object previously allocated in this pool and frees it, accessing the pointer beyond a call to free is an undefined operation and could return garbage or an entirely different object. Avoiding this case is the responsibility of the caller Behavior is also undefined if an object not owned by this pool is passed to Free. Outside of debug this will not be asserted