Use an allocation associated with the lifetime of a domain.
You don't need to free this memory, because Unity frees it automatically at domain unload. However, to conserve memory, you can free it at any time. Freeing a large number of such allocations in one frame, such that the array of freed pointers is larger than L2 cache, might exhibit a measurable loss of performance.