See this comment and the bug for more details
I think that it's worth considering removing the transient symbol list before calling the #doit method ... Just about everything of interest is on the stack at this point so I'm not sure that the transient symbol list is serving any purpose once execution of the #doit starts ...