Nö, wenn man weniger als 1MB angibt wird auch weniger als 1MB reserviert soweit ich weiss.
Aber egal.
War nur so ne Intuition das mit den Threads, weil ich das Problem eben schonmal hatte... vielleicht liegts bei dir ja wirklich an ganz was anderem.
Nach TerminateThread würde ich aber trotzdem mal suchen, falls das noch nicht gemacht wurde. Ich meinte auch nicht dass die Threads *immer* falsch beendet werden, dann wäre fix nach 2000 Connections schluss, sondern dass in gewissen Fällen was passiert dass der Thread hängenbleibt.
Natürlich kann es auch ein ganz normales Memory Leak sein. Wenn du Zugang zu soetwas wie Bounds Checker hast kannst du ja vielleicht den Server auf einer Debug-Maschine laufen lassen, ein paar Connections durchlaufen lassen, und sehen ob du so irgendwas findest.
Als wir damals das Problem hatten hab' ich als ersten Schritt eingebaut dwAvailVirtual von GlobalMemoryStatus rauszuloggen. Vielleicht hilft dir das auch weiter, wenn du z.B. siehst dass nach einem bestimmten Anfragetyp immer Speicher verloren geht oder sowas.