merta,
Стоп!!! А зачем вообще using в
using (Curve curve2 = block as Curve)
Ты понимаешь что происходит в этом случае или это просто копипастинг чужого кода?
Тогда объясню, что после завешения блока using curve2 будет закрыт (выполнен метод Close) и соответственно повторно к нему до его открытия обратиться нельзя. Так что этот using просто выкини из кода. Он в нём не нужен.