Looks like I needed to mark both peds as no longer needed:
var Franklin = new Model(PedHash.Franklin);
var Beverly = new Model(PedHash.Bevhills02AFY);
Game.Player.ChangeModel(Beverly);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 0, 1, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 1, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 2, 1, 1, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 3, 1, 2, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 4, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 5, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 6, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 7, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 8, 1, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 9, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 10, 0, 0, 2);
Function.Call(Hash.SET_PED_COMPONENT_VARIATION, Game.Player.Character, 11, 0, 0, 2);
Franklin.MarkAsNoLongerNeeded();
Beverly.MarkAsNoLongerNeeded();