The 5870 has a couplle of features which will cause this to happen
first, the memory uses ECC. That means that it keeps checking the memory for errors.
If an error occurs in memory (which might happen when you overclock it), it fixes the error. But that makes it slower.
Second, the it monitors the power going through the card. If too much power is going through the card (which can occur if you've overclocked/overvolted it and are stressing the core to extreme levels, such as using Furmark or OCCT), it will drop down to a lower power state (usually 400MHz core, at 1.0625V) to avoid damage to the card. I'm guessing this is most likely what's happening in your case.
What I've done with my 5870 is modify the BIOS to change the stock volts to 1.175V in performance mode (default is 1.1625V), and set the stock speed to 950MHz
I also increased the clock limits to 1300MHz core, 1500MHz memory. So Catalyst Control Center will allow you to set the speeds up to those levels (not that I'm likely to).
I've uploaded it here:
Also, it's much more reliable to flash the BIOS using DOS + atiflash
You would use:
atiflash -p -f 0 5870mod.rom