I've run BF3 on my iMac, but mine has the upgraded graphics and I've put 12GB of RAM in it. (Got 8GB of RAM for $35 last year ) I can run on all high, and looks amazing, but I have to turn down the resolution to 1080p rather than full resolution, and that helps a lot.
Wait for the 2012 iMac, assuming they release one. If you want to run games well you will want the latest and greatest since the iMac uses mobile graphics processors that don't perform as well as latest and greatest desktop graphics processors. You definitely don't want to get stuck with last years tech in a component that cannot be upgraded if gaming performance is important to you at all.