Tha man pages for bash says, once a variable is marked as readonly, it cannot be unset.
typeset -r Make names readonly. These names cannot then be assigned values by subsequent assignment statements or unset.
Also unset says
unset [-fv] [name ...]
For each name, remove the corresponding variable or function. If
no options are supplied, or the -v option is given, each name
refers to a shell variable. Read-only variables may not be
unset.
Your best option would be to kill the shell, or run the commands within a subshell. Something like