Методы InitMain и Test, а также ваша переменная C - все переменные экземпляра, определенные в вашем примере Example. Каждый экземпляр класса Example имеет свои собственные копии как методов, так и переменной.
Я подозреваю, что ваш код создает новый экземпляр класса Example и вызывает для этого метод InitMain. Позже вы создаете новый экземпляр и вызываете Test для этого. Эти два экземпляра не будут использовать одну и ту же копию переменной C.
Обходной путь должен определить C как переменную Shared (статическую в C #). Теперь у вас будет только одна копия переменной C, которая является общей для всех экземпляров класса Example.
Вы также можете определить методы InitMain и Test как Shared. Если вы сделаете это, у вас будет только один экземпляр каждого метода, и вы должны будете вызывать его следующим образом: Example.InitMain () вместо создания экземпляра и вызова метода для этого.