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.

Are you doing anything like this somewhere?