Using-block replaced by manual try-finally also not work:
var res := new Resource;
try
writeLn('object: ' + res.ToString);
raise new Exception('text');
finally
res.Dispose;
end;
But MS says it’s possible behavior for .NET: Exception-handling statements - throw and try, catch, finally - C# | Microsoft Learn