1) Вы создаете элемент.
2) Вы удаляете элемент не добавив его в список.
List что бы удалить элемент Note, сравнивает их.
https://msdn.microsoft.com/ru-ru/library/cd666k3e(...
Если тип T реализует IEquatable — универсальный интерфейс компаратор проверки на равенство Equals метода этого интерфейса; в противном случае — функцию сравнения по умолчанию является Object.Equals.
Этот метод выполняет линейный поиск; Таким образом, этот метод является операцией O (n) операция, где n — Count.
Note должен уметь сравнивать себя с другими.
https://msdn.microsoft.com/ru-ru/library/ms173147(...
Пройдитесь по коду в режиме отладки, шаг за шагом.
Точно узнайте что находится в List, и что происходит после remove, где именно ошибка.