no - its not game_save thats making non-used strings - its my own code. Look at first_struct - in the previous version i was not releasing the strings, merely copying " " to them. I am releasing first struct in mem_clear, then re-allocating it at game_load, so those strings arent used anymore. They should be released. For some reason though, if you did str_remove instead of str_cpy in the previous one, when i did a load game the strings in first_struct would still be blank, even when i did a str-create first to make sure there was a string to be assigned to.