I know patching should be rare, but thought I'd post that I noticed the most recent patch seems to be single threaded and CPU bound (waiting for CPU time). I wouldn't think you'd need to perform this much processing on a client machine during updates. I would have expected it to be disk bound. Where you just record the differences between the existing and new files and then those get applied to on the client. It almost seems like compression or something is currently being done during the patching process which should only need to happen once at your end I'd assume.