I was facing similar issues of evolution timeout. My Evolution version was 3.10.2 from git source. Even I have observe that evolution was throwing timeout very intermittently. Thus I have decided to investigate it further. I could find that eds has implemented a "camel-network-service" which is responsible for connecting any network socket and identifying network change, calls "g_network_monitor_can_reach_async" with callback of "network_service_can_reach_cb". The call "g_network_monitor_can_reach_async" supposed to connect mail server and transfer the handle to Evolution to use. It was a gio call and my gio version is 2.38.1. Evolution was very dependent on this call and will misbehave if such call "g_network_monitor_can_reach_async" misbehaves. I have observed that the above mentioned call some time returns without actually connecting to the mail server(verified through wireshark) and in that case Evolution failed to connect showing "Timeout". Further looking into the code of gio implementation I could find that gio keep caching all network connections e.g. first time if evolution able to connect the mail server, gio will cache it and if you reopen evolution the call "g_network_monitor_can_reach_async" will return some time without connecting the mail server explicitly and such behavior continues till cache become invalid.It is very annoying and could be a bug of GIO module rather than Evolution stack.I did not investigate further in GIO side due to time crunch , but I believe it would certainly help in isolating evolution behavior from GIO.