The problem is with the Tamron lens, not with the 7D.... Contact Tamron service, not Canon. Tamron has had some issues, too, but are usually good about addressing them. I don't know about that lens in particular, but some others have had updates to their firmware. Tamron will tell you if that's needed on the lens. With lenses, you can't update the firmware yourself, but they can tell you how to check what version you have (it's embedded in the EXIF metadata of images made with the lens).
Cleaning lens contacts doesn't solve a circuitry or mechanical or firmware issue in a lens.
I do not like Canon's recommended method of cleaning and wish they would stop that. A lot of the time the problem is oils... Either finger oils or from the mechanisms in the camera. A pencil eraser is made from vegetable oil, which isn't likely to help... Plus there is the risk of getting bits of eraser in the camera.
And the reason to use an eraser on electronic contacts is to remove oxidization... But Canon gold plates those contacts precisely because gold doesn't oxidize. Using an eraser, there's also some risk of scratching the gold plating.
Instead use a clean rag and put a couple drops of isopropyl (rubbing) alcohol on it. Then wipe the contacts with that. It will remove oily residues that can cause interruption of the electronic signals. There is a stronger cleaner called DeOxit, but it isn't necessary.... Most other electronic contact cleaners are nothing more than isopropynol. You just pay a lot more for them in an electronics store, than for rubbing alcohol in the grocery store or pharmacy.