Hi,
I've sorted this now. From the OnClick Event I opened a form as a dialog, and in the Form1_Load event I was calling some code that amended some Polygons. At the end of these changes I was calling the method that was giving me the problems.
I ended up creating a seperate add-in, and testing the above code in isolation which then worked. 🙂 So it was something to do with my earlier code.
Now, what I hadn't considered was that the form was running in the same thread as ArcMap, but I'd passed the processing code out to a seperate thread.
When I moved the above method into a class, on it's own, and then called this from the Form1_Closing event, everything started working again...
So I guess this simply comes down to me being a newbie at threading, and making a classic mistake that I've already learnt from.
Sorry to waste your time folks...
Scott