Memory management is not an aspect of the language, but of the platform, see Platform vs. Language again. For example, there’s literally dozens of languages that target the CLR or the JVM, they will all use Garbage Collection, because that is a feature of the platform, not of the language. For example, Pascal on .NET (e.g. Oxygene) uses GC, while classic Pascal such as Delphi or Borland/Turbo Pascal thatbtarget DOC or Win32 use(d) manual memory management. These behavior semantics are driven by the platform, not by the language. The language is “just” the syntax.
As a crude analogy — if you visit Japan, whether you speak Japanese or English, you still will need to drive on the left side of the road.
Struct support is provided transparently on the JVM to work in all languages like you would expect Struct to work. I can get the someone from the compiler team to give you a deep dive how this is handled on the lowest level, if you need (that’s outside of my area if expertise), but the relevant part is that if you use a Struct, it behaves like a value type.
Define “foreign platforms” — that terminology itself implies the wrong approach to the subject, IMHO. But this topic among others, covers relevant platform differences. But neither (or all, depending on how you wanna play it) platform is foreign to the Elements languages…