но я думал что даже первокласснику не будет сложно понять, что аткое "уникальный набор"
Уникальный набор предметов - да. Произвольный уникальный набор (какими правилами он может определяться, существуют ли бесконечные наборы, и т.д. и т.п.) - нет.
T-34 Вообше по идее - ошибка это когда что-то пошло не так но дальше жить можно. Паника это когда все - надо перезапускать сервер и пиздец пиздец. В C# это один и тот же класс отвечает. Тут тебе и ArgumentException и StackOverflowException вместе