Index: Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs =================================================================== diff -u -r4af9b44a7b9bea4035396ef522fe83c4cdd6f398 -r4e9e82bbdd11d6aa416985f6e1c6150d1228f454 --- Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 4af9b44a7b9bea4035396ef522fe83c4cdd6f398) +++ Application/Ringtoets/src/Application.Ringtoets.Storage/Read/AssessmentSectionEntityReadExtensions.cs (.../AssessmentSectionEntityReadExtensions.cs) (revision 4e9e82bbdd11d6aa416985f6e1c6150d1228f454) @@ -25,6 +25,7 @@ using Application.Ringtoets.Storage.Serializers; using Core.Common.Base.Geometry; using Ringtoets.Common.Data.AssessmentSection; +using Ringtoets.Common.Data.FailureMechanism; using Ringtoets.Common.Data.Hydraulics; using Ringtoets.Integration.Data; @@ -67,6 +68,8 @@ entity.ReadHydraulicDatabase(assessmentSection, collector); entity.ReadReferenceLine(assessmentSection); + FixMemoryLoadProblemForReadingFailureMechanisms(); + entity.ReadPipingFailureMechanism(assessmentSection, collector); entity.ReadGrassCoverErosionInwardsFailureMechanism(assessmentSection, collector); entity.ReadHeightStructuresFailureMechanism(assessmentSection, collector); @@ -89,6 +92,18 @@ return assessmentSection; } + /// + /// This method should be called after reading the but + /// before reading any of the instances. + /// + private static void FixMemoryLoadProblemForReadingFailureMechanisms() + { + // See WTI-1049 + GC.Collect(); + GC.WaitForPendingFinalizers(); + GC.Collect(); + } + private static void ReadReferenceLine(this AssessmentSectionEntity entity, IAssessmentSection assessmentSection) { if (entity.ReferenceLinePointXml != null)