The following simplified use case fails: delete new Object(); because delete only works on lvalues (in order to set them to null). However, delete'ing non-lvalues is a perfectly valid use case, and should be allowed as well.
I think it's far too late for this enhancement, delete will likely not be improved since it's scheduled for deprecation.