I pass in the parent AppDomain and the CrossAppDomainDelegate to ensure that when I make the callback to reset it executes in the parent AppDomain. If it executes in the child AppDomain, I can't safely unload the domain (it still has executing code).