> # class a = let () = print_endline "hello" in object end;; > hello > class a : object end > > > Maybe you mean the following: > > ? well, I have just tested this in the toplevel class a n = let x = Array.make_matrix n n 0. in object(self) val y = Array.init n (fun i -> Array.copy x.(i)) method y = y end ;; let mya = new a 10000 ;; ---------> memory consumption 78.5 (from top) Gc.full_major () ;; ---------> memory consumption is still 78.9 let mya = () ;; Gc.full_major () ;; ---------> memory consumption is now 0.1 Furthermore, in a fresh ocaml toplevel, let x = Array.make_matrix 10000 10000 0. ;; ---------> memory consumption = 39.5 (half of the previous memory usage) So, it seems that x, although not useful after the object creation, is not garbage collected. ?? Cheers Guillaume.