RooFit as it currently stands cannot be recommended for processing large datasets (of order 1GB) due to the pre-loading of TTree or RooDataSet objects into RAM. This is not only inconvenient, but quickly turns into a prohibitive scenario for multithreaded jobs on a multicore node (which invoke separate memory allocation).
A solution would be having an option to read the dataset directly from disk, perhaps with a mechanism similar to ROOT's TreeCache so that the caching can be configured.