In fact, factory reset didn't work for me. But for those SGS2 owners who are not afraid of using a custom kernel, there may be a solution. It seems that the problem was fixed on SiyahKernel v3.1rc2 and above. I'm using it for the last three days and the problem does not occur anymore.
Posted on April 13, 2012
removed 1600MHz and 100MHz steps
merged with cm9 sources (some patches for at&t version and lots of cleanups/rewrites. thanks to teamhacksung and Entropy512)
updated the build script a little to fix the module loading issues (which is, by the way, the main root of wifi toggling issues)