According to the documenation on MSDN, IPEndPoint can have its Address and Port properties set.
Why was this class designed to be mutable? It seems like it should be immutable for the same reasons that classes such as String are.
Is there an immutable version of this class that is more appropriate for passing around threads, event-handlers and so on?