This method removes the underlying memory and if there are operations in the JVM which needs the memory it is possible to encounter some ACCESS VIOLATIONS.
Use this method, or a using clause, only if it is completely clear the risks;
otherwise leave the task to the .NET GC which will execute a correct clean-up waiting for JVM that ends usage of the memory