Typically, any mortals created during the call to an XS function are freed when the next OP_NEXTSTATE op is called (i.e. at the start of the next statement), or when the current block scope is exited - whichever occurs first.
Dave.
Comment on Re: What does XSUB do on TMPS Stack for us?