I am storing pointers in a custom AOV and passing them a custom filter that I created. In the shader node I am mallocing the memory and storing them using AiAOVSetPtr. Then in the filter node, I am reading the values using AiAOVSampleIteratorGetAOVPtr. Are the pointers stored in the AOV automatically freed? If they are not, what is the proper way to free pointers?