So he finished last among those who wanted to get the best overall result. 8th-10th on a GT is hardly an achievement. 99% of them don't care, they would rather deliberately lose time and try to win a stage from the break than finish 9th.
Last of the ones who was close enough to fight for it the whole Giro yes. 9th isn’t an outstanding performance, but the way it was achieved (not gaining any “free” time in breakaways) was very promising for a 24 year old. It was a pretty though Giro with big gaps and he was only 4 minutes or so from a top 5 in the end. It was a proof that he can climb at a decent WT-level in stage races.
Again, it’s important to not put this in the context of “he should win the Tour in good form”, but to put it in the context of “he should be able to follow guys like Juanpe and Storer in Tour of the Alps”.
When it comes to his Avenir, it’s important to put his win in the context that Logic posted. It was his last year and Bernal etc wasn’t around. It’s definitively no reason to use that Avenir win as a sign that he should compete for the win in GTs by now.
However, it’s still a decent result to win Avenir and it’s important context to put in that he was also top 10 in Avenir the two previous years, so his win wasn’t a freak accident.
I personally think his 7th place two years before (2017) was a bigger performance than his win and a better prospective of his talent. He was 2:12 behind the winner Bernal in the end and 1:01 behind Lambrecht in 2nd (these three were all born 97). In this race Foss lost 59 seconds in a flat stage before the mountains where 100 man (all GC riders) finished in the pack. In the 3 mountain stages (and they were pretty though by Avenir standards) he did really well, and he’d likely been on the podium just behind Lambrecht (or 4th) without that unnecessary time loss in the flat stage. There was also no TTT here, which favored him the year he won.
So looking at his 3 Avenirs and his Giro 2021 there were actually quite a few performances where he has shown potential in stage races/GTs. Again, not in the class of “huge talent, he should win the tour”, but more in “he’s actually a talent that can probably do pretty well”. And in this context fighting for the win in races like this Tour of the Alps or riding another top 10 at the Giro shouldn’t be unrealistic, and when he cracks like today that is a disappointment.