То, что строки являются самым распространенным типом в вашей куче, совсем не странно.Если, например, у вас есть 10 HashSet, содержащих по 1000 строк в каждой, дамп покажет, что у вас есть 10 HashSet в вашей куче, но 100 000 строк.Многие объекты содержат одну или несколько строк.Таким образом, число строк, показанных в дампе, представляет собой сумму всех строк из всех объектов в куче, которые, как правило, много.
Однако, если у вас много System.Text.RegularExpressions.Regexв вашей куче, это может быть корнем ваших проблем с памятью.Регулярные выражения в .NET, как правило, занимают много ресурсов.Поэтому я советую вам пройтись по своему коду и попытаться найти какое-либо чрезмерное использование регулярных выражений.Кроме того, убедитесь, что все ссылки на объекты Regex обрабатываются, то есть, что ссылки на объекты Regex не поддерживаются.Таким образом сборщик мусора может убедиться, что объекты Regex правильно освобождены.
Удачи!