I'm remembering one thing now... I had such a crash problem with decals and using level_free(). The terrain with decals attached was removed, but the decal function was still running and then crashed. Adding a wait(1) before level_free() fixed the issue.