Thanks. Also crashes (rather than freezing) on MacOS . A work-around is to use
?- in_pce_thread(free(@demo)).
The threading model is much more restrictive in version 10 due to the use of the SDL graphics library. The above should normally not be a problem as freeing is normally called from the GUI thread as a result of event processing anyway. It should not crash this badly though