OnBecameInvisible is a strange one (unless it's recently been fixed), if you can still see the object in the scene view, it's still 'visable'. It's not to do with the camera or screen size.
Best way to kill things once they leave the screen is:
Get screen height and width, save as variables.
Get objects position and if it's greater/less than the screen height or width, kill.
Probably best not to check this every frame. Maybe set up a loop for a check every 1 second.