Hi, Mariano.
I don't understand, why you need to dive into specific primitive(s), while you can simply place a hook before entering any primitive and mark all objects, which passed as parameters (receiver & args) as 'used', and then call primitive function?