I've noticed that there are sometimes *.~gt files in the same location as my GenerativeComponents *.dgn files, but it's not clear what purpose they serve. Can I use them as some type of backup if GenerativeComponents were to crash?
GeneratveComponents creates a new *.~gt file (or overwrites an existing one) whenever a GenerativeComponents model is changed in any way or the current transaction list is modified. This file, created within the same folder as the *.dgn file and matching the *.dgn file name, contains a copy of the transaction list as though you had manually saved a *.gct file. When GenerativeComponents exits normally it will delete that *.~gt file. So the existence of a *.~gt file indicates that either GenerativeComponents is currently running or that it had crashed. The absence of a *.~gt file indicates that GenerativeComponents exited normally (unless of course the *.~gt file was otherwise deleted).
So, if a crash were to occur, the *.~gt will contain a preservation of the last known good state of that files' transaction list. At that point you can manually rename *.~gt to *.gct and load the file into GenerativeComponents just as you would any other *.gct file.
Note: If you do experience a crash, the next time GenerativeComponents is opened with that same *.dgn file it will detect that there is a corresponding *.~gt file and will attempt to load it with an appropriate warning dialog. So it's important to remember that if you re-open the *.dgn file and choose an option other than to recover the transactions when presented with this dialog, GenerativeComponents will erase the *.~gt file the next time it exits normally and no further recovery will be possible.