I have following pseudo code:
  cl_object some_object =  si_safe_eval(3, c_string_to_object("(blah blah)"), Cnil, OBJNULL);
  for (i=0; i<LARGE_NUMBER; i++) {
      cl_funcall(2, cl_intern(1, make_simple_base_string("use_some_object")), some_object);

It seems that after some iterations, the value of some_object changed... Any ideas?

BTW: it is a pain to deal with ECL & C, because no good documentation is available.
Why there is no good doc work here? Especially for integrating ECL and C programs, which is a selling-point of ECL.