You are attempting to delete a program, not a subroutine. The control logix PLC supports multiple tasks. Each task can have multiple programs, and each program can have multiple subroutines. In the screen shot you posted, there are three programs in the main task. Each program will have its own local tags, its own main routine, and its own subroutines. Right click the main task and unschedule the program so that the task no longer runs the program. The program will disappear from under the task and reappear under the unscheduled programs tab. Once it unscheduled then you can delete it.
When you delete a program you not only delete the rungs but you also delete the tags and data assoicated with that program. The program may also contain multiple subroutines. It is not the same thing as deleting a subroutine.