Per Jon's suggestion, removed all suspicious XStr references and
pointers not copied from the values returned by XStr. To test if this was the cause of the memory corruption, the "fix" of performing a deep copy of the virtual root before annotating. If this doesn't work, re-enabling the fix should be easy enough.
Showing with 178 additions and 202 deletions