Plugin.SettingsSaved event args don't hold old settings

The documentation for the event Plugin.SettingsSaved and PersistentSettingsSavedEventArgs states that the PlugInSettings value in the event args should be the old plugin settings. But I’m not seeing that behavior.

For example, if the setting starts with a list of strings with just {"Foo"} in it and I update it to have {"Foo", "Bar"}, the PluginInSettings property of the event contains the second list. Here’s code that’s mirrors the way my is written:

void UpdateSettings()
{   
    List<string> newSettings = new List<string>{"Foo", "Bar"};
    MyPlugin.Instance.Settings.SetStringList("SettingKey", NewSettings.ToArray());
    MyPlugin.Instance.SaveSettings();
}

//Attached to the Plugin's SettingsSavedEvent
void HandleSettingsUpdate(object sender, PersistentSettingsSavedEventArgs args)
{
    var oldSettings = e.PlugInSettings;
    var newSettings = MyPlugin.Instance.Settings;

    var oldList = oldSettings.GetStringList(SettingKey, new string[] { });
    var newList = newSettings.GetStringList(SettingKey, new string[] { });
    // I expect to see:
    //      oldList == {"Foo"}
    //      newList == {"Foo", "Bar"}
    // But they're both equal to the second list.
}

Is this the intended behavior?

Thanks,
Cullen