diff --git a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb index b86a572745fd0..2b5fc1facb7a3 100644 --- a/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb +++ b/src/Compilers/VisualBasic/Portable/Compilation/SemanticModel.vb @@ -891,7 +891,7 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End If Else ' 2 or more symbols. Use a hash set to remove duplicates. - Dim symbolSet As New HashSet(Of Symbol) + Dim symbolSet = PooledHashSet(Of Symbol).GetInstance() For Each s In symbolsBuilder If (options And SymbolInfoOptions.ResolveAliases) <> 0 Then s = UnwrapAlias(s) @@ -909,7 +909,9 @@ Namespace Microsoft.CodeAnalysis.VisualBasic End If Next - Return ImmutableArray.CreateRange(symbolSet) + Dim result = ImmutableArray.CreateRange(symbolSet) + symbolSet.Free() + Return result End If End Function