Well, I already thought that at one time or another someone with this kind of problem will appear … To make it short: I think the DPI setting is the “culprit”. As far as I know higher DPI settings also require tray icons with a higher resolution (at least if you want to have a sharp icon). If you for example set the DPI setting to 150 %, the tray icon has to be 24 x 24 (16 * 1.5). Otherwise one of the available icons will be upscaled or downscaled (downscaling is preferred as far as I know).
This wouldn’t be much of a problem if the .NET framework was using a resizing algorithm with a higher quality. But since .NET 4.0 Microsoft set the default algorithm to a fast one with bad quality (at least this is used for images that you are resizing inside a program; I’m not 100 percent sure if this also affects tray icons) which results in blurry images.
So far I haven’t found a “real” solution (I’ve already read several discussions about this problem, so you are not the only one with this issue). I think if one would also provide a higher resolution icon, then Windows/the .NET framework will always use this icon and downscale/upscale it instead of using the proper one for your DPI setting.
Maybe this is helpful (especially the last post): http://stackoverflow.com/questions/18920357/notifyicon-and-high-dpi-displays
However, I’m not sure if this is usable as (if I remember correctly) you are using a library (WPF NotifyIcon?) for the tray icon, aren’t you?
BTW: I’m using Windows 8.1 with default DPI settings and the icon looks fine (a hand-optimized one would look better, though), so this shoudn’t be an OS specific issue.