The function implemented in /std/base informs the environment by a call to prevent_leave() and notify_leave() that it is going to be destructed (move method 'M_DESTRUCT' with destination 0), then selfdestructs.
Reason is to properly update all the transient data like weight or lighting.
obj->remove() /* destructs <obj> */