別のシステムから多数の Sitecore アイテムをループで作成する必要がある Sitecore アプリケーションがあります。以下は私のテスト目的のループです。
using (new Sitecore.SecurityModel.SecurityDisabler())
{
    for (int i = 0; i < 20000; i++)
    {
        Item newItem = MyTemplateItem.CreateItemFrom(DateTime.Now.Ticks.ToString(), myParentItem);
        newItem.Editing.BeginEdit();
        newItem.Fields["Title"].Value = Guid.NewGuid().ToString();
        newItem.Editing.EndEdit();
    }
}
このループが実行されているときにタスク マネージャーを見ていると、プロセスのメモリ使用量が時間とともに増加しています。
SitecoreItemクラスにはIDisposableインターフェイスが実装されていないため、作成したアイテムの Finalizer を呼び出すことができません。
このメモリリークを回避するにはどうすればよいですか?
PS: Windows アプリケーションを使用してこの操作を実行し、Sitecore がキャッシュの更新とインデックスの構築を行う IIS プロセスのメモリ リークを回避しています。