Well, let's start with the codes.
A code P0441 could mean one or more of the following has happened:
Bad vacuum switch
Broken or damaged EVAP line or canister
Open in PCM purge command circuit
Open or short in Voltage feed circuit to Purge Solenoid
Faulty purge solenoid
Restriction in EVAP solenoid, line or canister
Corrosion or resistance in purge connector
Bad PCM
A code P0155 may mean that one or more of the following has happened:
O2 Heater element resistance is high
Internal short or open in the heater element
O2 heater circuit wiring high resistance
open or short to ground in the wiring harness
So, you might want to try to replace the O2 sensor first. If it isn't working right, it can make the truck run too lean, or too rich, causing the problem you are having. I would recommend replacing it with an AC Delco one. Not sure how well the "parts store" brands work.
The EVAP code likely isn't causing this issue, so I wouldn't worry about that one right off the bat.