Другая проблема, которую я вижу в вашем коде: DicomDataset DicomAnonymizer.Anonymize(DicomDataset)
принимает DicomDataset в качестве параметра и возвращает новую анонимную копию.Это рекомендуется, если вы не хотите, чтобы исходный набор данных DicomDat был изменен.Но поэтому вы принимаете во внимание дублирование большого количества данных в памяти.Другой метод - void DicomAnonymizer.AnonymizeInPlace(DicomDataset)
, который напрямую манипулирует данными в DicomDataset.
Ваш код выше использует первый метод, но не сохраняет возвращенный анонимный DicomDataset в переменную, поэтому он передается в мусор.коллекционер немедленно.
Звоните var anonymizedTestfile = anony.Anonymize(testfile);
или anony.AnonymizeInPlace(testfile);