Run it not through Visual Studio - then the icon should look just fine.
I believe it is because when you debug, Visual Studio runs <yourapp>.vshost.exe
and not your application. The .vshost.exe file doesn't use your icon.
Ultimately, what you have done is correct.
There, the icon should look fine. If you run it by clicking that .exe the icon should be correct in the application as well.