The reason is the ability to put comment delimiters around a well-formed block of OCaml code to get a well-formed comment. For example, suppose you have
let s = "*)"
The goal is that
(* let s = "*)" *)
should be well-formed. (Do not let the syntax highlighting confuse you.)
Unfortunately, this motivation only extends to OCaml code and not to arbitrary code from any other language, hence why it breaks when you try to comment out a block of Ruby code.
By the way, you could also written your comment as
(* [1,2,3].map { |n| n + 1 } *)