Here is a quick test to eliminate/confirm the sender as the problem:
Crawl under the truck.
Reach up and pull the sensing wire (pink) off the stab on the level sender (this connector is a threaded post - looks like a screw coming out of the head).
Using a test wire, jump the terminal at the end of the pink wire to a good clean ground.
Turn the ignition to run.
If the gauge responds correctly (i.e. pegs high) the gauge and sensing wiring from gauge to sender are good - suspect a problem in the sending unit group.
Next, locate the lead that goes from the sender to ground (might be multi-colored or plain black). This will be a normal tab type with a 90 degree clip (looks like a little flag). It's the only other wire besides the pink one anyway..
Reconnect the sensing lead (pink), the one that was removed for the first test, back up as normal.
Pull the ground wire off the sender head and now use your test wire to connect the ground tab on the sender to nice clean, rust free spot on the frame.
Turn the key on. If the gauge now indicates the proper level , you have a poor ground connection from the sender to the frame. Clean the contact area at both the sender and frame end of the ground wire. Test the gauge again.
If incorrect readings are still obtained after checking the wiring on both sides of the sender, the intank portion of the sender unit is faulty (bad float, broken internal lead, etc.).
Drain the tank. Disco the fill neck and fuel pump supply/return hoses. Release the tank straps. Drop the tank and replace the sender.
If during the initial test, the gauge did not go to full high; the problem is in either the gauge or the sensing lead (the pink wire).
If this is the case, the diagnostic gets involved - revisit this thread and someone will help you. But I don't think it will be the gauge or wiring, I'll bet on the sender or sender ground wire.