Hi Sean,
You should not run out of memory, except if:
1- You have created the TTree before opening the Root file in write
mode.
2- You have a large number of branches and you have specified
a large block size.
You can flush the output buffers with a given frequency using;
1- TTree::SetAutoSave(Int_t autosave). When autosave bytes have been
written to the buffers by TTree::Fill, the buffers are
automatically
flushed to disk. By default Root will autosave every 200 Mbytes.
This function should be called only once after the TTree creation.
2- TTree::AutoSave(). You can call yourself this function at regular
intervals (every 1000 events).
Rene Brun