I doubt that the memory tweak is the issue, as that corruption issue occurred for me back when I was using your alpha1.2. Without recompiling the kernel, the easiest way to test your hypothesis would be to run at a lower speed. I think it's an issue that comes from the stock rom itself.
I mean, the OC patch changes the operating frequency of one of the clocks that sets timers for the CPU. By changing that, it changes the operating speed of anything that runs off the same clock. Memory runs off the same clock, but with a divider applied. Normally that divider is set to 3 at 600 MHz (hence 200 MHz AHB clock speed). This means the memory can do one operation for each three cpu cycles. In my OC patch, I changed this to use a divider of 2 (302 MHz AHB clock speed at 604 MHz) by default. This means the memory can do one operation each time the CPU does two.
But this is not (afaict) the internal flash memory, this is the system ram. It shouldn't be affecting things like the cache, unless it works in a totally counter-intuitive way. If it works like I suspect, the cache is built the first time the rom is booted. A copy gets loaded into ram, and a copy is stored on the disk. The version stored on the disk isn't used when the phone is running, the version in ram is. Upon reboot, however, if the flash contains an existing cache, it is loaded from there instead of being rebuilt - this means faster booting.
Now, if the phone is locking and forcibly rebooted, it's possible that the freeze happens during writing the cache to flash memory - reboot halfway through this process and you corrupt some files. Then, upon boot, it tries to load a corrupted cache and gets all screwy.
Also, I'm wary of putting to many versions of the rom out there with subtle variations of each other. I can try removing the memory tweak, but since this issue occurred for me in pre-OC kernels, I strongly suspect it's not the cause.
We could tell the rom to rebuild the cache on EVERY boot, but it would mean slow boot times for every reboot.
*shrug*