GC cleans up for you. Usually this won't happen because uniqueData is likely to be in data section and callback is likely to be a member of a widget used elsewhere. But if they aren't, GC will free them and you end up with dangling pointers in CommandArgs.