I had this exact problem with a 4S until today. Here is what I did:
I installed Skype and Google Hangouts on the 4S to check whether this problem occurs with any calling application or just GSM. I made calls with Skype and Hangouts via WiFi and had no problem at all.
So I had a friend with a 4S with no such problems and I borrowed his SIM card for a test. I called his number on my 4S and had no echo problems! I put mine back and the echo returned. To make sure, I repeated this a couple of times. My SIM had echo, his no echo.
So I went to my provider's shop and requested a new SIM. Problem gone.
I hope this helps people who have tried all else with no results. Why the SIM caused this is beyond me.