Yes, the OS stores several bytes of RAM containing key addresses. In particular, the floating point stack address will tell the OS where the end of user RAM is located. Using this address and the address of the end of the last variable in RAM, the OS can determine how much RAM is left.
One of those pointers is wrong.
The OS thinks the FP stack is 8000-ish bytes before the last variable, which will definitely be corrupting some data since the OS uses the FP stack for almost everything it does (for all math and some non-math).
My program doesn't mess with any of that, but it could be something wrong with it, still. Which version of Axe Parser do you have? (open the App and it should be in the bottom right corner). I have 1.2.1 and the calls my program uses were introduced a few versions ago for zStart compatibility. If you have an older version of Axe, then it could be calling random data to be executed as code, which is rarely a good idea.
The current version is located here Axe 1.2.1.