Probably because the intermediate variable is passed through the static field instead of the parameter. https://github.com/mrflashstudio/OsuParsers/blob/master/OsuParsers/Decoders/BeatmapDecoder.cs https://github.com/mrflashstudio/OsuParsers/blob/master/OsuParsers/Decoders/StoryboardDecoder.cs