While I haven't written anything production-strength, I've looked into used the CAS COM bridge. And I don't think that you'd need to create a JVM for each call into a Java object. If you were going to use it frequently (for example, to call into Java Business objects from a non-Java client), you could create the Java Machine and hold the reference to it (keeping it open). Then, reuse the same JVM for the multiple calls.
If you're coming at this from a scripting point of view, I haven't explored that much. But there are some new classes in version 4 of the CAS COM Bridge that address this.
Hope this helps,
Ed