To fix your always updating issue: sometimes GitHub adds an extra space to the end of your hash, which will make the Update Utility detect an update when there isn't one.
To have the Update Utility ignore the extra space, find this line in the code:
updateHash = client.DownloadString(hashURL.ToAntiCacheURL());
and replace it with
updateHash = client.DownloadString(hashURL.ToAntiCacheURL()).Trim();