Se entriamo nel discorso client-server, allora la cosa si fà un bel pò più complessa, tenendoconto che gambas non ha tutte le caratteristiche e le funzionalità per poter gestire in modo semplice questa logica.
Tanto per fare un esempio, non gestisce i thread...
Detto questo, se necessario, la logica da implementare diventa un pò diversa dal classico modo di approciare il discorso, avendo a disposizione linguaggi più evoluti.
Anche se non dovrei, possiamo considerare gambas più alla stregua di visual-basic, e non possiamo compararlo con un java (per esempio).
Di solito questi linguaggi (vb e gambas) sono indicati più per applicazioni stand-alone, o in modalità client-server ma solo se il "server" fornisce il database, o la logica business. In questo caso il linguaggio serve mediamente per creare la parte interfaccia utente (es. un web server).
Ora, questa è una parte del discorso, poi ne viene un'altra.
In che ambiente andiamo ad operare? Quando si parla di client-server, il discorso è alquanto generalizzato, ma mettiamo il caso di voler creare un applicazione web. In questo caso possiamo anche prendere in considerazione gambas, per quanto riguarda la parte server (per il client ovviamente abbiamo il solo browser...). Costruire un'application server è relativamente semplice, e lo si può anche vedere negli esempi a corredo.
La gestione della memoria... Per questo discorso prendiamo in considerazione un linguaggio come il PHP. Anche questo linguaggio è interpretato, anzi è completamente interpretato, perchè gambas esegue invece una mezza compilazione, preparando appositamente un para-eseguibile che l'interprete può eseguire un pò più velocemente. Quindi, ritornando al php, il discorso memoria diventa uguale a quello di gambas. mediamente in un programma web, il motore del server non fà altro che elaborare le richieste provenienti dalla rete, e creare più o meno dinamicamente delle pagine html. La dimensione di queste pagine, dato che sono testo puro, possono influire sull'utilizzo della memoria, ma questo dipende esclusivamente da come uno ha sviluppato la funzionalità di creazione. Se non per puro sudio, non possiamo andare ad analizzare cosa fà php e come lo fà riferito alla memoria, a meno che questo non influisca sulle performance. In ogni caso il problema è mediamente un errore di programmazione, in quanto php fornisce funzioni di base, che tra l'altro sono state scritte in C. Sempre per studio possiamo andare ad analizzare cosa fanno queste routine a basso livello, ma siamo sempre sul discorso teorico, in quanto queste routine sono state testate e ottimizzate nel tempo, e quindi poco correggibili (bug a parte).
In gambas siamo allo stesso livello. Gambas è costruito su un substrato scritto in C, e in gran parte si appoggia a librerie esterne che, mediamente, sono già ottimizzate di loro. In questo caso mi pare superfluo andare a capire cosa gambas fà e come lo fà nei confronti della memoria, perchè in gran parte non dipende da questo linguaggio.
Ritornando alla logica web client-server, l'ottimizzazione si fà eseguendo uno studio approfondito di cosa deve fare un'applicativo, e dalle risorse a disposizione. E' ovvio che non possiamo pensare di costruire un applicazione per 1 milione di utenze contemporanee con un pc portatile... Le risorse di solito si implementano in base alle esigenze applicative e, se non è possibile, allora si cerca di gestire l'applicativo in modo da farlo girare con quelle a disposizione.
Per rispondere alla tua ultima domanda, penso che nessuno o pochissimi hanno avuto a che fare con la costruzione di applicazioni client-server, o
perlomeno che abbiano avuto a che fare un applicazioni seriamente client-server, se non per sudio o per piccoli ambienti di lavoro.
Per il discorso se gambas può essere utilizzato per la costruzione di questo tipo di ambienti, direi che ci può stare, ma sarei più dell'opinione di cercare linguaggi più indicati a questo tipo di approccio, in quanto grandemente sviluppati e testati proprio e quasi esclusivamente queste applicazioni.
Ora ritorniamo al semplice discorso sullo spacchettamento di un programma gambas. Come credo di avere accennato in precedenza, la cosa credo sia alquanto inutile, in quanto l'interprete gestisce da solo le operazioni di caricamento e scaricamento oggetti e moduli, similarmente a quanto fà java. Un'applicazione è un'applicazione, che deve fare un determinato compito. Diversamente è invece il discorso alla riutilizzazione del codice, ovvero alla creazione di librerie che possono essere utilizzate anche in altri programmi (come poi sono gli oggetti grafici che vedi nell'ide di gambas, e che ti copy nelle tue form). In questo caso la cosa è altamente auspicabile, in quanto ti rende più semplice lo sviluppo, e ti evita di affrontare sempre le stesse cose trite e ritrite. Le librerie possono essere i sorgenti stessi di funzioni e classi create ad-hoc, oppure proprio librerie create con gambas (puoi leggere molto anche qui nel forum a riguardo). Inoltre, puoi agganciarti anche a librerie esterne, da cui attingere a attue o ad alcune delle loro funzioni (anche qui di studi ed esempi ne trovi a iosa).
Per riassumere, la tua ricerca la vedo inutile o quasi se indirizzata all'operatività vera e propria, ma la potrei vedere interessante a livello di studio. In ogni caso ogni approfondimento deve essere fatto a livello subatomico, nel senso che dovresti andarti a leggere i sorgenti di gambas, per capire il suo funzionamento (cosa che può essere alquanto interessante, e che dà spunti e suggerimenti interessanti).