(1) Revisa la ayuda de Delphi o manuales;
Try..finally te ayuda a capturar posibles errores que puedan producirse en la ejecución.
En éste caso los
try..finally están puestos para que si se produce un error al leer/grabar el fichero de texto se libere la memoria creada y no se pierda.
(2) Al comentar esto, me he dado cuenta de que en ambos casos he cometido un "error de bulto". En ambos casos debes poner la línea:
Código Delphi
[-]
TS := TStringList.Create();
antes del
try.