Years ago, I had a 1987 "J" lean machine that I was flying from Statesboro, Georgia to Milwaukee, WI. No fuel flow instruments and I'd made a similar trip multiple times. This time it was different and my fuel gauges were lower than normal. I was planning on flying over the Chicago airspace. Just before this area, I was advised to "turn right direct to Brave intersection"- this is well out over Lake Michigan. I was at 6K' and said I wasn't comfortable with this. They told me to climb to 8K' and they'll route me more westerly (which didn't happen). As I continued, it became evident that my fuel takes were far lower than they should have been for the flight. I decided to run one tank dry. The engine stopped immediately- 20 minutes before it 'should have" but came back to life almost as fast when tanks were switched. I gave a low fuel advisory at which time ATC cleared me direct to my destination. Incidentally, in a few minutes, ATC advised me that a TSM was over my intended airport and to "say intentions". I changed destinations to Kenosha and got the instructions to call the tower. That all being said, I landed uneventfully (with 4 gallons left- I likely wouldn't have made Milwaukee), tower called ME, and was concerned that I had a problem.
As I understand it, the trash left in the bottom of the fuel tank can cause filter problems, so it might be best to avoid running dry intentially.