So, my lack knowledge needs to take a bit of a beating.
If I'm to get significantly better at writing C#, I need to understand the specification.
It seems like a daunting task, but I think if I try and tackle a point at a time, writing small programmes to demostrate my understanding, I'll get a much deeper understanding of how my programmes hang together and how to write them better.
Wish me luck!