I recommend having lunch at the outdoor cafe at the Grand Hotel Europe when you become truly starved for good food in Saint Petersburg. Their French-styles sandwhiches are expensive ($15!), but they're sooooooo good. A sandwich, a beer, and a coffee afterwards will run you almost $25, but it's guaranteed good food (that isn't beef stroganof!), which is not something to sneeze at in Russia.
Eating at the Grand Hotel Europe can be entertaining also. During my lunch one day, I watched two European Businessmen "wine and dine" two prostitutes in the cafe. Don't ask me how I knew they were prostitutes. After you've spent some time in Eastern Europe, you just know. I felt bad for the girls; the men were crass mannerless pigs.