I do have to thank jjguzzardo for his posts on the caveats here because I as a software architect I forget about memory very often. I do worry about speed but only to the degree of a virtual call and require all of my reflection in .NET to be interfaced out to not effect performance. However when designing my current side projects I forget to take this into account for game development and the requirement differences that have to be met.

I think this talk has gotten away from the original post and the architect in me says Project-A is doing it right!