Вообще говоря, не имеет значения, сохраняете ли вы ссылку или нет - OpenWeb
создает новый объект SPWeb
в памяти, и его следует утилизировать. Это верно для всех IDisposable
объектов, не только в SharePoint - это не ссылка , которая имеет значение, или сборщик мусора может освободить эту память.
Вы должны изменить свой код на:
string title = null;
using(SPWeb web = SPContext.Current.Site.OpenWeb())
{
title = web.Title;
}
Теоретически, если бы вы создали новый SPSite
, вы должны были бы также утилизировать его, но не тогда, когда он приходит из SPContext.Current
- эти объекты могут использоваться совместно с другими компонентами.