Есть небольшая фича, если не получается добавить в конец файла новый объект. Воспользуйтесь классом
List<Schedule> schedules;
1.Перед добавлением можете прочитать весь файл и записать в schedules.
2.Добавить новый объект в
schedules.Add(new Schedules())
3. Серилизовать и сохранять уже
List<Schedules>
Такой подход не желателен если у вас будет очень большой файл. Но при таком подходе вас уже не будет волновать, что вы не можете добавить в конец файла новый объект...
P.S немного про сериализацию
тут