Multiple calls to pipelineSwitch() very quickly (back to back or perhaps nearly simultaneously from separate threads) can leave the system in a state where data returned from a SnapScript is not returned. Allowing a few milliseconds to go by, then switching to a a default pipeline, waiting 10ms and switching back to the SnapScript pipeline restores function.
Calls to pipelineSwitch() return true and the status of the 3A shows that the pipeline switch was successful. Calls to getStatus and getLatestResult also report success, but the data returned from the Python script is zerod out.