Supersonic in general does not aspire to be exception safe, Piotr - correct me if I'm wrong, but we don't expect to handle exceptions correctly, do we? Obviously, it could probably be fixed, but I don't think doing this is on anybody's priority list right now.
In the case you mentioned, we should switch to passing the memory into the child function by moving a scoped pointer (instead of passing a raw pointer and assigning it to a scoped pointer afterwards), which is a better idiom to use in general; I'd be happy to review such a change proposal. I don't expect anybody on the Supersonic team would have the time to do a major overhaul of the whole codebase to follow such an idiom, though.
Onufry