Would something like this work for you?
public static string AppendUntilLimit(string aString, string bString, int limit)
{
return $"{aString}{bString}".Substring(0, limit);
}
If you want to prevent appending of bString you could use something like:
public static string AppendUntilLimit(string aString, string bString, int limit)
{
return aString.Length + bString.Length > limit ? aString : $"{aString}{bString}";
}