سلام.
set accessor خصیصه Text بدین شکل پیاده سازی شده (البته من ساده کردمش و فقط بخش مورد نظر رو اینجا گذاشتم تا ببینید چه اتفاقی داره میفته):


public virtual string Text
{
set
{
if (value == null)
value = "";

if (value == this.Text)
return;

//Rest of the implementation...
}
}


همونطوریکه می بینید، وقتی سعی می کنید این property رو مساوی null بذارید، در اولین خط مقدار null با "" عوض میشه... در نتیجه، شما نمی تونید این Property رو null کنید.

موفق باشید.