Do you have a recent backup of your hard drive? If not, you should make a backup ASAP!
The symptoms you describe can definitely be caused by bad blocks on your hard drive.
They don't do a full hard drive scan at the Genius Bar because it would take too long (over two hours for a 1TB drive, which is a common size for your model of iMac).
A bad block can cause i/o errors that will show up in your system log (but they don't check that at the Genius Bar, either).
(I'm don't mean to sound negative about the Genius Bar; they do a lot of great work, but they can't do everything.)
Your model identifier (iMac10,1) tells me your iMac was the model introduced in October of 2009, and discontinued in July of 2010. Meaning even if you bought it on the last day it was made, it's almost 4 years old. It wouldn't be at all unusual for a hard drive that old to begin to fail. (A Backblaze study of over 25,000 drives found one model with an annualized failure rate over 25% for drives with an average age of 3.8 years.)
There are Mac utilities that can scan your drive for bad blocks. TechTool Pro and Drive Genius are two such examples. If you don't have any utilities that can scan for bad blacks, then you should either buy one, or contact a local Mac tech.
If you're comfortable looking over logs, then:
- Open the Console app (which can be found in the Utilities folder inside your Applications folder)
- In the left pane, click system.log
- Click in the search box in the upper-right corner. (Where you see the words String Matching in gray letters.)
- In the search box, type I/O
I/o errors look roughly like this:
Apr 28 08:32:04 Mommymd-iMac kernel: disk2s1: I/O error.
Normally you shouldn't have any I/O errors. If you do, that's evidence (but not proof) of a bad block. The only way to verify a bad block is to do a full disc scan.
If you have any bad blocks (even just 1), it's time to get a new hard drive.
Depending on where you live, expect to pay $200 to $250 for parts & labor to get that drive replaced.
For your model of iMac, I charge $125 for labor; but I don't mark up hard drives. Current prices range from $55 for a 1TB drive to $110 for a 3TB drive.
(I'm not pushing my services — this is just for information purposes.)
Most service places near me have lower labor rates, but mark up their parts. In the end, their prices are close to mine.