Excellent stuff, can't wait to try it. The allocation and performance stuff is much appreciated.
One thing I would've liked to see here is clearer naming conventions for the coordinate space conversion methods. DepthImageToSkeleton, SkeletonToDepthImage, and GetColorPixelCoordinatesFromDepthPixel are all methods that deal with the conversion from one coordinate space to another but they all have a different naming style. I have to stop and think or look them up every time I use them simply because the naming is so confusing. I'd much prefer it if they were called GetDepthCoordinatesFromSkeletonSpace, GetSkeletonCoordinatesFromDepthSpace and GetColorCoordinatesFromDepthSpace, for instance. Not only are the method names then following the same naming scheme, it's also a lot clearer what they actually do as opposed to "DepthImageToSkeleton", which doesn't even have a verb. Something to consider, hopefully.