ok, i saw the problem: 0046D578 is the GetBoundsRect.
an unsolved bug, believed to be ingrained into Delphi, but still unsure.
you can search this forum for the word "GetBoundsRect".
few users get this error. most times it seems to be related with multi monitor. do you have multi monitor?
and, about the ram-defrag tool, i don't know, but it would be useful if you investigate on it, and report your results.