Есть процедура
static object DoWorkTask(object data, byte[] rawdll)
{
var asm = Assembly.Load(rawdll);
var types = asm.GetTypes();
foreach (var type in types)
{
if (type.Name == "Task")
{
var runnable = Activator.CreateInstance(type) as iTask.iTask;
if (runnable == null) throw new Exception("broke");
var result = runnable.DoWork("Test!");
runnable = null;
types = null;
asm = null;
return result;
}
break;
}
types = null;
asm = null;
GC.Collect();
return null;
}
вроде как все очищаю, но все равно память утекает при работе, где может быть проблема?