found by Riku Palomäki, was that "bridge" vertices (which connect two or more faces that don't share edges) were not being included in the maximum final vertex count calculation (used for memory allocation, hence the crashes). Unfortunately Riku's patch actually stopped bridge vertices from being split correctly, so I have fixed the problem by adding the maximum number of vertices that can be generated from bridge vertices to the maximum final vertex count. Thanks to Riku Palomäki for finding the cause!