Hi,
This is very interesting. You can look at other criteria:
1. Look if you can have your road network in some kind of road classification based on class (freeway, arterial, major road, minor road), you can use them as restrictions. This is the most easiest way to avoid such turns.
2. Use road width if available as a deterent.
3. Use distance between intersections as a deterent, small values mean local roads, local roads mean sharp turns. For a heavy vehicle to change direction from road x1 from speed y1 to road x2 with speed y2, it needs some decelerating distance, if your distance between these intersections is lower than this value, possibly a heavy vehicle cannot make this turn.
4. Use number of lanes as deterent, usually heavy vehciles do not enter streets with less than 2 lanes.
5. Look for speed limits in the network. Heavy vehicles usually have slow speeds and sharp turns in the first 5% of their trip and the last 5% of their trips, this can be used in combination with you global turn angles, i.e., if you the distance so far is less than 5% of total trip distance and angle is sharp, allow it; sililarly on the other end, any sharp turn in between should be seen with caution.
6. When dealing with long distance trips be it cars or trucks, give more weight to speed limits than distance, this will automatically take vehicles to higher order roads as soon as possible, thereby avoiding sharp turns in local roads.
many of the above can be used in combination to avoid the problem you are having. The are many such common observations in your local area will help you formulate a better model in ArcGIS.
Srirama