This code in a GUI application compiles and runs:
procedure TForm1.Button1Click(Sender: TObject); begin Self := TForm1.Create(Owner); end;
Maybe to allow passing to const or var parameters?
It could be an artefact, since system doesn't have self anywhere on the left of := sign.