in reply to threaded C embed
Now suppose we have more than one interpreter instance running at the same time. This is feasible, but only if you used the -DMULTIPLICITY flag when building Perl. By default, that sets PL_perl_destruct_level to 1.
So the first thing that I'd check is that you'd built Perl with -DMULTIPLICITY. Try not to think of Michael Keaton movies. :)
Even there, you may be out of luck. IIRC, Perl is not entirely multithread-safe. According to the Perl5-porters list, Perl 5 uses things like setjmp and longjmp, which are not multi-thread safe. You may need to share a single interpreter among the multiple threads, or otherwise prevent multiple interpreters from getting called in the same instant.
Best of luck!
Update Added "out of luck" paragraph after further research.