Τελικά το πρόβλημα λύθηκε.
Έχει σχέση με το caching και το πως αποθηκεύει την System.Drawing.Color Class (Serialization & ...).
Για να περιγραφεί καλύτερα η λύση και τι πρέπει να αποφεύγει κανείς όταν δουλεύει με τα παραπάνω περιγράφεται η αρχική δομή και οι αλλαγές που έγιναν.
Αρχικά υπήρχε μια μεγάλη δομή (structure) από δεδομένα η οποία περιείχε και ένα μεγάλο μέρος από Colors (System.Drawing.Color Class) η οποία έπερνε τιμές από την βάση δεδομένων, και αποθηκεύονταν (caching) στην μνήμη για κάποια λεπτά της ώρας. Στην πορεία της ζωής της εφαρμογής οι ανάγκες για Colors αυξάνονταν. Και εμφανίστηκε το πρόβλημα στον Windows 2003 Server.
Οι αλλαγές οι οποίες έγιναν είναι οτι παρέμειναν όλα στην δομή (structure) των δεδομένων όπως είχαν με μόνη διαφορά οτι αντικαταστάθηκε το Color (System.Drawing.Color Class ) στην δομή των δεδομένων με τον αντίστοιχο Integer (Color.ToARGB()). Η εφαρμογή τρέχει κανονικά.
Άρα το πρόβλημα συμπερασματικά εστιάζεται (και διαφοροποιεί τα default settings στα Windows XP Professional σε σχέση με τον Windows 2003 Server) σε ένα ή περισσότερα από τα παρακάτω.
1. Maximum Caching Size per Application (δεν έχει σχέση με το Total Caching γιατί τρέχουν στον Server πολλές εφαρμογές οι οποίες αποθηκεύουν δεδομένα και δεν υπήρχε ποτέ πρόβλημα). Από πού ορίζεται στην Registry το Maximum Caching Size per Application δεν βρέθηκε.
2. Το Serialization της System.Drawing.Color Class για αποθήκευση στην cache χρειάζεται περισσότερη μνήμη από τον αντίστοιχο Integer του χρώματος (ή υπάρχει bag στον τρόπο και την ποσότητα χρωμάτων που μπορούν να αποθηκευτούν - μάλλον απίθανο γιατί τρέχει το ίδιο framework και στα δύο μηχανήματα).
3. Το παράξενο είναι οτι στο Runtime τό πρόβλημα εμφανίζονταν σε Class η οποία έκανε export, μέσω properties, άλλες ανεξάρτητες δομές (structures).
Δεν ξέρω αν θα σας φανούν χρήσιμα τα παραπάνω.
Γιώργο ευχαριστώ για την βοήθεια.
Σωτήρης Παπαϊωάννου