We're currently doing some implicit pickling/unpickling of (e.g.) the TskitFormat, which can have negative impacts when working with really large tree sequences.
We should review this, and get a clearer idea of what the lifetime of a Source object is, and how it should deal with file loading etc.