GatherTaskItemOutputs() keeps showing up on profiles, specifically SetMetadata, SetMetadataOnTaskOutput, COW 🐄 dictionary ImportProperties, etc.
I see lots of Linq, lots of allocations, for something that potentially should be very cheap. If the list of key value pairs is immutable, just pass it through (I think?)