Created attachment 9962 [details]
A file demonstrating the problem. Remove the commented call FixNull to make it work as intended on mono.
When creating a new Socket using new Socket(SocketInformation), the RemoteEndPoint property will be null, even if the socket is connected.
I believe this is because seed_endpoint is never set to anything when using the new Socket(SocketInformation) constructor. In the attached file, I've added a method "FixNull" that sets the seed_endpoint field of the socket object to new IPEndPoint(0, 0). If this method is called (remove the commented line), RemoteEndPoint no longer returns null.