BigEd is quite right. You can't destroy memory allocated in the dll outside the dll in C#. The dll should have a 'destroy' method or the like which C# passes the pointer into to be destroyed.

Darwen.