Мне кажется, что труегольники не должны пересекаться в вершинах, но если вчитаться в условие, это явно нигде не сказано. Зависит от того, считается ли это за пересечение треугольников.
app.Use((ctx, next) => {
try {
await next();
} catch(Exception exception) {
ctx.Response.WriteAsync(/*Как-то форматируем наше сообщение об ошибке - обычно в объект. И отдаём 500й код */);
// Ещё есть смысл залоггировать это и сообщить разрабам, ибо 500й код - это недоработка логики.
}
});
В какой именно игре наблюдаются фризы, и при каких настройках?