Why html tags are being appended to my pictures?

Sometimes, WordPress likes wrapping <img ... tags with extra HTML.

You could try something like as listed on http://css-tricks.com/snippets/wordpress/remove-paragraph-tags-from-around-images/.

In your theme’s functions.php file, add the following lines of code near the top:

function filter_ptags_on_images($content){
   return preg_replace('/<p>\s*(<a .*>)?\s*(<img .* \/>)\s*(<\/a>)?\s*<\/p>/iU', '\1\2\3', $content);
}

add_filter('the_content', 'filter_ptags_on_images');