My money is on a vent valve, and probably it has killed the canister too. Valve is unable to fully close, or fully open, due to dirt, which gets pulled into the canister. cant close, so you get the large/small leak codes. Stuck nearly closed, or canister plugged, low flow during purge.
OP...