USkeletalMeshComponent::TickComponent is run in the PrePhysics tick group. This is the only place where the SkeletalMesh is actually checked to be != nullptr to determine whether or not the TickCloth should be run.
TickCloth is set up to run in PrePhysics, but may be delayed until PostPhysics (this is guaranteed to happen when PostPhysicsTickFunction is run).
This means there's a potential gap where the SkeletalMesh may be changed to nullptr and it is never checked.
Should add a check to USkeletalMeshComponent::TickCloth that checks whether or not SkeletalMesh is valid.
Create the blueprints in the attached images.
(The first based on ActorComponent, the second on Character).
Add the character to a level.
Expected: The mesh gets cleared and doesn't crash.
Actual: The game crashes.
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-34032 in the post.