KeepWithNext will assure that the last line of the first paragraph and the first line of the second paragraph will be on the same page. So it prevents pagebreaks between those two paragraphs, but does not prevent pagebreaks inside the paragraph.
KeepTogether will prevent pagebreaks inside the paragraph.
If you want to treat both paragraphs as an unbreakable block, using KeepTogether on both Paragraphs and KeepWithNext on the first paragraph should do the trick.
It's by design that each paragraph starts on a new line. There is no way to prevent line breaks between paragraphs (sorry, I should have read that question more carefully).
You can use AddFormattedText to mix different formats (e.g. bold and normal) within a paragraph.
You can use a table (maybe with hidden borders) to have two different columns.
So depending on your needs, AddFormattedText or a table may be the best option.