Battlefield 3 is a very resource heavy title and relies a lot on memory.The HD 6970 has superior vram(2GB vs 1.28GB of 570) and far superior bandwidth(175gb/s vs 152gb/s of 570),thus the HD 6970 will run BF3 more smoothly and swiftly than the GTX 570.
Note: When it comes to shaders, the GTX 570 is the way to go.So in other shader intensive titles the GTX 570 may edge past the HD 6970 by a few fps but gameplay will remain similar.
I agree, I would also recommend the 6970.
Ram does in the matter of how much you have. You shouldn't need more than 4G in most cases and 8G in even less.