np Dasun. it happens sometimes.
You are of course allowed to use any naming scheme you wish. Just saying that when i read:
T_Run_Thread.Create(True) ;
it immediately distinguishes from:
ln_Run_Thread.Create(True);
The latter would then be able to obviously tell that a variable is used to try create a new instance. The former is using the right approach but doesn't store itself into a variable (which is allowed when f.i. using a with statement in front).
Using your type naming scheme was problematic (to me) simply because i am not used of having types names that are not using T prefix. You could apply the same for n_ vs ln_ but in this particular case that went wrong for you
