Если форма освобождена (если никакие другие объекты не имеют ссылки на рассматриваемые объекты), существует небольшой риск не удалить обработчик событий, однако всегда рекомендуется удалить обработчик событий, прежде чем прослушивание объекта больше не сможет быть недоступным (т. е. все переменные, ссылающиеся на объект, находящийся вне области видимости), не способные вызвать утечку памяти.
В вашей ситуации это не так (если я получу то, что вы описываете, код сделает это более понятным)
Проблема будет в том, если вы присоедините делегат, ссылающийся на объект C, к событию на объекте A, а затем потеряете доступ к C (например, присвоите новое значение переменной). Затем С будет зависать, пока А не соберет мусор