It could be what Schurkey said. Or it could be the wires on the starter solenoid are touching. Thought I replied to this post yesterday; must have been another one on a similar topic. The big terminal on the starter solenoid is where the positive cable from the battery attaches. The smaller one is where the little wire attaches. This one--I think it's purple under the loom-- comes from the ignition. This is what energizes the solenoid to engage and throw the starter drive out, into the flywheel teeth. If everything is working correctly, the starter motor is spinning at the same time, and this action turns the engine over (cranking).
BUT, if the wires, or the terminals, are touching, then electricity gets where it's not supposed to UNTIL the key/ignition switch is turned to the "start " position. These 2 terminals are pretty close together, so you have to be VERY careful that they don't touch each other when tightening the nuts onto the studs on the solenoid cap. I've had starters down on many GM vehicles and they're all like this. You have to keep your fingertip on or between the wires and terminals when tightening the nuts down. I had to learn this trick after one of my old square body trucks started cranking when I finished hooking the battery cables up. Unhooked 'em real fast I tell you what! Law of average, this is likely the problem.....but it COULD be something else. You've got some wiring or terminals that are making contact where they aren't supposed to.....good luck and post up what finally fixes it