There are two issues in TOpenSaveDialog::TData::Read:
Members FileName and Filter point to memory managed by the class, but the memory is not deallocated before assigning the members to the strings allocated by ipstream::freadString.
The memory pointed to by members CustomFilter, InitialDir and DefExt is not managed by class, so the strings allocated by ipstream::freadString will never be deallocated.
Also see [bugs:#156] for a similar issue relating to ipstream::freadString and memory leaks.