Memory Leak when using RunAutomaticTask

Hi everyone!

I've been using the trados studio 2015 sdk for translation, and am seeing memory leak when looping the following function:

 

public void GenerateTranslatedDocument(IEnumerable<string> sdlxliffPaths, string outputFolder)
{
FileBasedProject proj = new FileBasedProject(new ProjectInfo() { Name = "Dummy", SourceLanguage = new Language("en-US"), TargetLanguages = new[] { new Language("de-DE") }, LocalProjectFolder = outputFolder });
ProjectFile[] sdlXliffFiles;
ProjectFile[] files;

try
{
updateExportTaskSettings(proj, outputFolder);
sdlXliffFiles = proj.AddFiles(sdlxliffPaths.ToArray());
proj.RunAutomaticTask(sdlXliffFiles.GetIds(), AutomaticTaskTemplateIds.CopyToTargetLanguages);

files = proj.GetTargetLanguageFiles();
proj.RunAutomaticTask(files.GetIds(), AutomaticTaskTemplateIds.GenerateTargetTranslations);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
proj = null;
sdlXliffFiles = null;
files = null;
GC.Collect();
}
}

 

Is there a better way to avoid the memory leak? Every iteration introduces 2-20MB.

Help!

Thank you!!