<t>What's likely happening is that SignalData is indirectly changing the subscribers dictionary under the hood during the loop and leading to that message. You can verify this by changing<br/>
<br/>
foreach(Subscriber s in subscribers.Values)<br/>
<br/>
```<br/>
<br/>
To<br/>
<br/>
```<br/>
foreach(Subscriber s in subscribers.Values.ToList())<br/>
<br/>
```<br/>
<br/>
If I'm right, the problem will disappear.<br/>
<br/>
Calling `subscribers.Values.ToList()` copies the values of `subscribers.Values` to a separate list at the start of the `foreach`. Nothing else has access to this list (it doesn't even have a variable name!), so nothing can modify it inside the loop.</t>