Are you really returning only booleans in the sub microflow or is there a possible line in there where you return $object/booleanattribute while $object is empty? Put the debugger in there and try to find out.
I think the cause of the problem is that a subthread unexpectedly returns a null value, which causes a decision error in the calling thread. This could likely be caused by incorrect conditions in your microflow logic or some unwanted side effects in your application. You should carefully check your microflow and make sure that all conditions and actions are configured correctly. Check to see if there are any conditions or operations that could cause the subflow to return a null value.
This issue also occurs when you have specified an error-microflow on your concurrency setting of the submicroflow. In this case, the return value of the original microflow is ignored. If the top-level microflows contains any actions after calling this submicroflow, it will be a null/empty-value.
Since you cannot check for this scenario, the solution is to add custom error-handling when calling the submicroflow and specifying an error-message rather than an error-microflow set in the concurrency setting of submicroflows, since error-microflows will never enter the error-flow of the associated action if specified, only error-messages will.