An .ico file may contain multiple icons in different sizes (formats). For an .ico file to be used in an executable it would be better is it includes some small formats (e.g. 16×16 and 32×32). 

If you chose to include additional (larger) formats, these will be used when appropriate. Otherwise, (if the .ico file contains only small icons) when windows need to display a large icon, the small format will be resized and displayed, which always results in an ugly icon.

So, the solution is to include both small and large icons in your .ico file.