I have seen twice the patcher crash after a long while (usually after 1 Go download). Examinating shortly the patcher around that time with ProcessExplorer showed me that it always crash at around 2 Go private byte.
I get the feeling that due to the memory allocation / deallocation subroutine, the program is limited to 2 Go usage , and either due to Malloc building holes which are never released or similar process, once it reaches the 2 Go limit it cannot allocate more memory and crash.
I got a similar problem on other program I built. I could be wrong and it could be incidental, but I am now looking at this and I am nearing the 2 Go limit on private byte, I'll see if it crash.
If this is really the problem, there are solution around this.
Naturally I could be wrong.
0