Idles at 500 RPM, noticeable vibration

My 2013 has about 340,000 miles on it. In the last few months I've noticed a tendency for it to drop to around 500 RPM when stopped in gear and the a/c off. When it does that, I can feel vibration from the engine. If I give it just a tiny bit of gas to bring it back up to to 600ish then it smooths right out.
Sometimes for the first 45+ minutes of driving it will idle back where it used to, in the 600-650 range, and then it is so smooth I can't really tell it is running when I stop at a light. Once it goes to the lower idle it doesn't usually go back up until it has sat for hours.
Over the last 75,000 miles or so, I've used the sprays to help with the carbon buildup after getting the error code indicating that problem. I had Iridium spark plugs in it and tried the NGK Ruthenium ones recently and on shorter drives it seemed to help but on longer ones it still goes to the slower idle. It never burns any oil, doesn't have any error codes and I only run top tier gas in it.

Suggestions on what to look at?
 
That's a lot of miles. It might be time for a full walnut blasting of the cylinder head, and a MAF and TB cleaning as well.
 
Back