Looks like it is freed. I ran a test with an array of 500k strings, checked memory use in sysinternals process explorer, reset the length and rechecked the memory, it dropped by half.
Test as string[]
For I = 0 to 500000
Test.insert("abcdefghijklmnop")
Next I
Print("Check mem")
Sync()
While getrawkeystate(27) = 0
Endwhile
Test.length = -1
While getrawkeystate(27) = 0
Endwhile
http://games.joshkirklin.com/sulium
A single player RPG featuring a branching, player driven storyline of meaningful choices and multiple endings alongside challenging active combat and intelligent AI.