La liberación me parece correcta y luego recuerda borrar el índice 1 (Delete), ya que ahora te ha quedado un String en la posición 1 con un apuntador a ż???ż?.
Lo que no me ha quedado claro es esto (el CAST como TObject), pero bueno:
Código Delphi
[-]
TObject(StrNew(PChar('QueTal')))