I'm getting 413 Mhash/s on both my 5870s clocked at 935 MHz core and 319 MHz memory. The point in downclocking the memory is to conserve power and to reduce the heat output, thus lowering card temperature and displacing the inevitable failure further in time. GDDR5 uses lots of power even when idle and lowering it's clock speed two- or threefold reduces the memory power usage accordingly.
Finding the optimal clock speeds is a tricky optimization task. CMOS logic power consumption is proportional to the clock speed and to the square of the voltage. Hashing still uses the card's memory for some storage and time misalignment between GPU's and memory's clocks can lead to wait cycles when incommensurable frequencies are set.