I had a '77 C10 with a 350 that did the exact same thing. If you happened to kill the engine at a stop light you were screwed until it sat and cooled for awhile. Although I've heard that the solenoid getting too hot is the problem and a heat shield will fix it, and I don't doubt that in many cases that is correct, my fix was different. The mechanic that I trusted to work on it at the Olds dealer where I worked in the body shop told me that there wasn't enough clearance between the armature and the fields in the starter. When it would get hot, there was basically no clearance so it wouldn't turn. He turned a small amount off of the armature on a lathe to increase the clearance. That starter spun strong after that. I bought a heat shield also but never put it on since it worked perfectly there after. No matter how long I drove it, it would always start right back up instantly.
Tom