Things happening randomly are always difficult. I would start adding some logging, checking on the input Message not being empty ( trim($Message) != ‘’ ). And maybe have someone else check your code :-), it surely helped me in a lot of cases. Sometimes you’re overlooking things someone else notices immediately. From the picture, it looks like you have different pages for the different MessageTypes, maybe there is a difference somewhere in the pages ...
Does your project support multiple languages? In that case based the user language the popup might give them an empty screen because there might not be a placeholder configured for that specific language in Studio Pro.