title: Collection was modified; enumeration operation may not execute
body: <p>I cannot get to the bottom of this error because it happens only in one instance, and I can't find any code that can be the cause of the error. </p>
  
  <p>I have a 3.5 web service that I'm calling from a multi-threaded, CAB client. I have a bunch of unit tests against the web service (from both 3.5 and 2.0 code), and it works fine. However, in the actual application, it doesn't work 90% of the time and, the remaining 10% of the time, it decides to work. </p>
  
  <p>The code: </p>
  
  <pre><code>Friend Function ExecuteSearch(ByVal query As String) As List(Of SomeObject)
      Dim searchResults As List(of Object) = _searcher.UserSearch(query)
      Return searchResults
  End Function 
  
  // In Searcher
  Public Function UserSearch(ByVal query As String) As List(Of SomeObject)
      Return Translate(Search.GetResults(query))
  End Function
  
  // In Search
  Public Function GetResults(ByVal query As String) As List(Of SomeObject)
      Dim service As New FinderService.FinderService()
      Dim results As New List(Of String)
      Dim serviceResults As IEnumerable(Of String) = service.Search(query)    // &lt;-- ERRORS OUT HERE 
  
      results.AddRange(serviceResults)
  
      Return results
  End Function
  
  // In the service
  Public Function Search(ByVal query As String) As IEnumerable(Of String)
          Initialize() // Initializes the _accounts variable
          Dim results As New List(of String)
          For Each account As User In _accounts
              If a bunch of conditions Then
                  results.Add(account.Name)
              End IF 
          End For 
  
          Return results 
  End Function 
  </code></pre>
  
  <p>The breakpoints hit these codes (in this order). The line that errors out is in the "GetResults" method. </p>
  
  <p>Any help would be appreciated.</p>