[verb (plain form)] + くせして [i-adj (plain form)] + くせして [na-adj] + な + くせして [noun] + の + くせして
くせに can replace くせして in all patterns.
くせして (also written as くせに) is used to express criticism, complaint, or disapproval toward someone who acts in a way that contradicts what is expected given their situation. It translates to "despite the fact that," "even though," or "although," but carries a strongly negative, judgmental, or accusatory tone.
While のに also means "even though," くせして is much more emotionally charged and confrontational. It implies the speaker finds the person's behavior unreasonable, hypocritical, or annoying given the circumstances. Because of this tone, it is almost always directed at other people (or sometimes at oneself in a self-deprecating way), and is rarely used in polite or formal speech.
くせして and くせに are largely interchangeable, but くせして tends to sound slightly more confrontational and spoken. Both carry the same critical nuance.