HashSet is better at checking contains / adding items, but it's worse for iteration.
True. Here you are going to have a lot of checks and a few iterations at the end, why I used HashSet.
Plus, foreach's cost over a for loop is just an overhead (so grows linearly with collection size), while check cost on a list is O(n)...
I also always avoid 'foreach' as it used to leak memory on iOS. I don't know if that was ever fixed.
True, foreach used to leak on iOS. IIRC this is a bug in mono's AOT compiler, so might not be true anymore because of IL2CPP.
But, if it was to be still true, I doubt it would make any big difference here, because that's something that is to be called very scarcely.
On my side, now that I am mostly writing tools, I usually write code using language's syntactic sugar and only revert to more low level constructs on hot spots, but yeah I was found of micro optimisations back in the J2ME era

(and I've done quite some tricky ones :p ).
I doubt there will be enough labels affected at a time for it to matter either way though.
I guess you are right for most cases, and most people must be using bitmap fonts anyway by now.
But I recall seeing some people here complaining about some issues when they were using lots of labels, so I guess that might still be an issue.
Anyway, forget about all that, I'm just nit-picking :p !
Thanks for your great support.