A dirty throttle body is the first thing I would look to rule out anyway. After the truck gets some miles on it, it probably needs to be cleaned once a year or so. I did mine last December (Just the TB clean, not the Seafoam) and no PO506 code since...debating on whether to do it preemptively this year, or wait and see if the idle starts to drop and it throws the code. Hope that helps.
I have a 2007 Ford Focus that gets fussy with it's throttle body in the cold too. My inlaws have a Prius that needs it's throttle body cleaned periodically too...I've basically come to the conclusion that this is just a regular maintenance item on modern engines.
Mine was doing the same thing, I have over 100k on my truck as well. I did the throttle body cleaning yesterday, and she is idling like glass now right at about 700 - 750 rpms. Starts up real strong now too. Its super easy, and totally fixes this issue.