Field upgrade

I’m checking out the Rabbit line to use in a new product that needs to be field upgradable. I’ve read the tech note TN218a on upgrading using the DLM/DLP combo, both sourced at address 0. A few simple questions. Is all this based on running the program out of flash instead of copying it to RAM and running it there? Why not run in RAM, incorporate the DLM in the main code, and burn a new image in flash whenever it’s needed?