Переполнение памяти: увеличивающееся количество Microsoft.CSharp.RuntimeBinder.Semantics

В настоящее время мы ищем утечки памяти в нашем приложении. Когда мы выполняем какую-либо операцию (загружаем и закрываем один проект внутри нашего приложения), мы знаем, что объем памяти всегда немного увеличивается.

Мы уже нашли много из них, но сейчас 10 + наиболее растущих классов (согласно нашему инструменту ANTS Memory Profiler 8.2):

Microsoft.CSharp.RuntimeBinder.Semantics.SYMTBL + KeyMicrosoft.CSharp.RuntimeBinder.Semantics.LocalVariableSymbolMicrosoft.CSharp.RuntimeBinder.Semantics.CONSTVALMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRCONSTANTMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRCLASSMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRTYPEOFMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRLISTMicrosoft.CSharp.RuntimeBinder.Semantics.MethWithInstMicrosoft.CSharp.RuntimeBinder.Semantics.CMemberLookupResultsMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRMEMGRPMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRCALLMicrosoft.CSharp.RuntimeBinder.Semantics.EXPRWRAPMicrosoft.CSharp.RuntimeBinder.Semantics.AggregateDeclarationMicrosoft.CSharp.RuntimeBinder.Semantics.Scope

К сожалению, я не понимаю, что это такое, поэтому мне немного сложно найти, как / что я должен выпустить.

Я проверил дерево экземпляров, но оно работает с Microsoft.

Проблема в том, что когда мы выполняем «открытие / закрытие» проекта, мы проходим большую часть (большую часть) нашего кода.

РЕДАКТИРОВАТЬ Одна часть нашего приложения используетdynamic Ключевое слово для некоторых ресурсов, оно может быть связано. Класс здесь не одноразовый, я должен сделать что-то особенное с ними?

РЕДАКТИРОВАТЬ 2

Я уверен, что это связано с моимdynamic вещи, кажется, что C # создает кеш при использовании динамического. Но в настоящее время я не знаю, почему он растет (я загружаю одни и те же классы все время, и у меня всегда будет одна и та же сигнатура), и как это очистить.

Ответы на вопрос(2)

Ваш ответ на вопрос