ParseDataSource in sqlconnection.cs has a bug.
Password=2447532;Persist Security Info=True;User ID=sa;Initial Catalog=test;Data Source=10.0.0.1,1433\MyInstance
the above is a valid connection string, it will fail in parsedatasource, works fine in .net. somehow the code assume if it has instance name, it will use dynamic port.
Mono 5.10 has significantly improved System.Data implementation which should resolve this issue. If you can still reproduce it please reopen the issue.