Hello,
HashSet is useful when he has a lot of values, in vanilla and tbc is unlikely to happen (because list is completed during WRobot session) (and I use it in Wotlk and next versions, on high level character can have a lot of completed quests), and I think also that I use List in vanilla and tbc for the serialization.