Leaked record detected with address …, name (unknown), and thread local refcount

The following error is generated by a PowerShell script:

Leaked record detected with address 000000001D5ED488, name (unknown), and thread local refcount 73. To see AddRef/Release callstacks for this leak, run stsadm -o setproperty -pn refcountcallstacktrackingenabled -pv true.


First we looked into when this error occurred and identified the PowerShell in question.


I found this article showing the same error:

However this wasn’t our problem.

I ran the PowerShell script in question in the ISE PowerShell Debugger and found the problem with this code:

foreach ($item in $List.Items)




Suddenly this was filling up my memory.

$List.Items loads all the list items and for a list with about 5000 items that is not a good idea. Running something like this is a better idea:

$spqQuery = New-Object Microsoft.SharePoint.SPQuery
$spqQuery.Query =

$spqQuery.ViewFields = “<FieldRef Name=’ID’ /><FieldRef Name=’Title’ />”
$spqQuery.ViewFieldsOnly = $true
$splListItems = $ulsList.GetItems($spqQuery)

foreach ($splListItem in $splListItems)