When you call Object.superclass, you get an object that describes BasicObject class.
This object is an instance of Class class that inherits from Object. Therefore, it has all the methods that Object has, including the one you added.
However, instances of the BasicObject class do not have this method:
irb(main):122:0> Object.object_method
=> "object_method called"
irb(main):123:0> Object.new.object_method
=> "object_method called"
irb(main):124:0> Object.superclass.object_method # Same as BasicObject.object_method
=> "object_method called"
irb(main):125:0> Object.superclass.new.object_method # Same as BasicObject.new.object_method
NoMethodError: undefined method `object_method' for #<BasicObject:0x441743be>
from (irb):125:in `evaluate'
from org/jruby/RubyKernel.java:1065:in `eval'
from org/jruby/RubyKernel.java:1390:in `loop'
from org/jruby/RubyKernel.java:1173:in `catch'
from org/jruby/RubyKernel.java:1173:in `catch'
from ~/.rvm/rubies/jruby-1.7.0/bin/irb:13:in `(root)'
Here is more stuff to meditate on:
irb(main):129:0> Object
=> Object
irb(main):130:0> Object.class
=> Class
irb(main):131:0> Object.new.class
=> Object
irb(main):132:0> Object.superclass
=> BasicObject
irb(main):133:0> Object.superclass.class
=> Class
irb(main):134:0> Object.superclass.new.class
NoMethodError: undefined method `class' for #<BasicObject:0x1c944d4a>
from (irb):134:in `evaluate'
from org/jruby/RubyKernel.java:1065:in `eval'
from org/jruby/RubyKernel.java:1390:in `loop'
from org/jruby/RubyKernel.java:1173:in `catch'
from org/jruby/RubyKernel.java:1173:in `catch'
from ~/.rvm/rubies/jruby-1.7.0/bin/irb:13:in `(root)'
Have fun!