As it turns out, If you define and implement your whole class/structure in a .h file a consumer needs to mark it #pragma unmanaged. If you don't delete will get confused and issue the errors i received from my earlier post.
Disclaimer The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.