Solved by HashedViking in post #2 
              
              
                OK, changing weak to assign fixes the problem: 
Inside MetalCommandBuffer.h 
change 
@property(nonatomic, weak, readonly) NSThread* thread; 
to 
@property(nonatomic, assign, readonly) NSThread* thread;