I had this happen on my camaro. Is your's interfering with the flywheel while the engine is running or is just the starter motor just still running?
Honestly I fixed it by replacing the starter, but you could check to see if there is voltage on the switch terminal for the starter when this problem occours.
Is it heat related? (since you said it didnt do it this morning, im assuming the truck was cold...)
You could have...
1) A bad Starter (internal relay might be sticking)
2) Bad Ignition switch (sending power to S terminal on starter when not supposed to)
3) Short to power on the Switch terminal wire.
Im gonna go with 1 but lemme know.
good luck.